Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Select Recordset auslesen

Select Recordset auslesen
25.05.2008 20:37:00
janbro
Hallo Forum,
ich bräuchte mal wieder Eure Hilfe.
Ich habe folgende kleine Funktion, die auch sauber ausgeführt wird und mir einen schönen Select ausgiebt. Nur weiß ich jetzt nicht weiter. Ich vermute der Select muss nun in ein Recordset und kann dann Datensatz für Datensatz ausgegeben werden, nur wie stelle ich das an? Wie bekomme ich den Rückgabewert in result und wie lese ich diesen aus?
weitere Infos: die Datenbank ist eine MySQL die ich mit MyODBC anspreche. Die Tabelle Test enthält die Spalten ID (int) und Beschreibung (text).

Function relDaten(ArbeitsMappe, Spalte, MyTable, SpalteMySQL)
Sheets(ArbeitsMappe).Select
Set Conn = New ADODB.Connection
With Conn
.ConnectionString = "ODBC;DATABASE=test;DRIVER={MySQL ODBC 3.51 Driver};OPTION=0;;PORT=  _
_
_
0;SERVER=localhost;user=user;password=*****"
.Open "DSN=test_mysql"
End With
SqlStatement = "Truncate Table test." & MyTable & ";"
'Conn.Execute (SQLStatement)
zeilenzahl = Range("E65536").End(xlUp).Row
For i = 2 To zeilenzahl
Vergleichswert = Cells(i, Spalte).Value
SqlStatement = "Select " & MyTable & MyTable & "." & SpalteMySQL & " where test." &  _
MyTable & " = " & Chr(13) & Vergleichswert & Chr(13) & ";"
Cells(2, 4).Value = SqlStatement
result = Conn.Execute(SqlStatement)
--> Was mach ich ab hier?
Next i
Conn.Close
End Function


Merci
Jan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Select Recordset auslesen
26.05.2008 00:10:41
Luschi
Hallo Jan,
so sollte es gehen:
Dim result As New ADODB.Recordset
'Dein weiterer Code
Set result = Conn.Execute(SqlStatement)
'die Feldname schreiben
'k enthält die Anzahl der Felder im Recordset
k = result.Fields.Count
For i = 0 To k - 1
    ws.Cells(9, 1 + i).Value = Rs.Fields(i).Name
Next i
'Anfangsadresse und Schreibbefehl
Activesheet.Cells(10, 1) .CopyFromRecordset result
Und das war es dann auch schon.
Zum Schluß noch alle Objekt-Variablen auf Nothing setzen: Set result = Nothing usw.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Select Recordset auslesen
27.05.2008 06:20:35
janbro
Vielen Dank, das war der Tipp den ich brauchte.
Jan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige