Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array in Excel aus SQL füllen

Forumthread: Array in Excel aus SQL füllen

Array in Excel aus SQL füllen
11.06.2004 15:08:36
Arne
Hallo Leute,
ich habe eine Frage bei der mir hoffentlich geholfen werden kann.
Ich würde gerne eine komplette Spalte aus einer SQL Datenbank ziehen (max.20 Einträge) und sie in ein Array zu schreiben, mit dem ich dann in Excel weiterarbeiten kann.
Ich weiss zwar wie ich mir einen Eintrag rausfische, aber leider nicht wie ich eine ganze Spalte in einen Array schreiben kann.

Vielen Dank im Vorraus
Arne

Sub Name()
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim vtSql As String
Dim arrSI() As Variant
con.Open "DRIVER=SQL Server;SERVER=XXXXX"
vtSql = "SELECT GetAllTeilnehmer.Name" & "FROM_ DATENBANK.dbo.GetAllTeilnehmer"
rs.Open vtSql, con, adOpenForwardOnly, adLockReadOnly
rs.Close
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array in Excel aus SQL füllen
11.06.2004 15:33:16
joel
hallo arne
möchtest du die tabelle in einen bereich in excel schreiben?
while rs.EOF = false
tabelle1.cells(i,1).value = rs.fields("...")
i = i+1
rs.moveNext
wend
hab die methoden des recordset nicht ausprobiert, glaube aber, dass diese so heissen, ansonsten verstehst du die absicht und kennst die richtigen methoden-namen.
gruss joel
Anzeige
AW: Array in Excel aus SQL füllen
11.06.2004 15:44:24
Arne
Hallo Joe,
danke für die schnelle Antwort.
Nein ich möchste sie eigentlich nicht in eine Tabelle schreiben. Ich will mit dem erhaltenen Array weiterarbeiten um ein Tabellenblatt zu sortieren.
In etwa so :)
Application.AddCustomList ListArray:=Array("test1", "test2", "test3", "test4")
und danach die Sortierung
Schönen Gruß
Arne
Anzeige
geschafft
11.06.2004 16:56:02
arne
So wens interessiert hier die Lösung :)
Und zwar umgebaut von hier http://www.devtrain.de/artikel_524.aspx
arne

Sub d()
Dim MyRSArray   '--- dieses Array wird mit dem rs gefüllt werden
Dim con As New ADODB.Connection
Dim RS As New ADODB.RecordSet
Dim vtSql As String
'--- öffnen der Connection zur DB mit übergabe des Connection-Strings
con.Open "Connection String"
vtSql = "Sql String"  '--- SQL-String übergeben
RS.Open vtSql, con
If Not RS.EOF And Not RS.BOF Then   '--- Überprüfen ob RS leer ist
AnzahlSpalten = RS.Fields.Count - 1
AnzahlZeilen = 0
ReDim MyRSArray(AnzahlSpalten, AnzahlZeilen)
Do Until RS.EOF
'--- Array-Grösse anpassen
ReDim Preserve MyRSArray(AnzahlSpalten, AnzahlZeilen)
For i = 0 To AnzahlSpalten
MyRSArray(i, AnzahlZeilen) = RS.Fields(i)
Next
AnzahlZeilen = AnzahlZeilen + 1
RS.MoveNext
Loop
End If
RS.Close
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige