Discussion:
Zugriff auf SQL Server via VBA
(zu alt für eine Antwort)
luker
2008-03-19 09:45:02 UTC
Permalink
Hallo zusammen

Ich versuche gerade mithilfe von SQL und VBA Daten von einem SQL-Server
abzurufen, nur hab ich jetzt das Problem wie stelle ich die Verbindung zum
SQL-Server her. Eine ODBC-Verbindung ist bereits eingerichtet und ich denke
über diese sollte es möglich auf den Server zu zugreifen. Kann mir da jemand
weiterhelfen?
Danke

Gruss
Lukas
Peter Schleif
2008-03-19 10:21:03 UTC
Permalink
Post by luker
Ich versuche gerade mithilfe von SQL und VBA Daten von einem SQL-Server
abzurufen, nur hab ich jetzt das Problem wie stelle ich die Verbindung zum
SQL-Server her. Eine ODBC-Verbindung ist bereits eingerichtet und ich denke
über diese sollte es möglich auf den Server zu zugreifen. Kann mir da jemand
weiterhelfen?
Ich mache es mit ADO. Dafür brauchst Du einen Verweis. Die
Versions-Nummer kann variieren.

Microsoft ActiveX Data Objects 2.8 Library

Die Konstanten im Code müsstest Du bitte anpassen. "test_localhost"
greift bei mir auf den lokalen MySQL-Server zu. Funktioniert aber auch
mit externen Datenbanken, wenn die ODBC-Quelle als solche korrekt
funktioniert.

Peter


Sub odbc()

'Microsoft ActiveX Data Objects 2.8 Library
'------------------------------------------------------------
Dim rs As New ADODB.Recordset
Dim sql As String
Dim str As String
Dim feld As Variant

Const DSN = "test_localhost"
Const TABLE = "test"

sql = "SELECT * FROM " & TABLE

rs.Open sql, "DSN=" & DSN

While Not rs.EOF
For Each feld In rs.Fields
str = str & vbTab & feld
Next
str = str & vbCr
rs.MoveNext
Wend

rs.Close

MsgBox str
End Sub
luker
2008-03-19 11:51:04 UTC
Permalink
danke für deinen tipp werd ich gleich mal ausprobieren
Post by Peter Schleif
Post by luker
Ich versuche gerade mithilfe von SQL und VBA Daten von einem SQL-Server
abzurufen, nur hab ich jetzt das Problem wie stelle ich die Verbindung zum
SQL-Server her. Eine ODBC-Verbindung ist bereits eingerichtet und ich denke
über diese sollte es möglich auf den Server zu zugreifen. Kann mir da jemand
weiterhelfen?
Ich mache es mit ADO. Dafür brauchst Du einen Verweis. Die
Versions-Nummer kann variieren.
Microsoft ActiveX Data Objects 2.8 Library
Die Konstanten im Code müsstest Du bitte anpassen. "test_localhost"
greift bei mir auf den lokalen MySQL-Server zu. Funktioniert aber auch
mit externen Datenbanken, wenn die ODBC-Quelle als solche korrekt
funktioniert.
Peter
Sub odbc()
'Microsoft ActiveX Data Objects 2.8 Library
'------------------------------------------------------------
Dim rs As New ADODB.Recordset
Dim sql As String
Dim str As String
Dim feld As Variant
Const DSN = "test_localhost"
Const TABLE = "test"
sql = "SELECT * FROM " & TABLE
rs.Open sql, "DSN=" & DSN
While Not rs.EOF
For Each feld In rs.Fields
str = str & vbTab & feld
Next
str = str & vbCr
rs.MoveNext
Wend
rs.Close
MsgBox str
End Sub
Loading...