ADO sql
14.05.2013 13:32:06
eres
mit nachfolgendem Code lese ich Daten aus einer Access-Datenbank via ADO:
Sub ADO_Zugriff()
Dim conn As New Connection
Dim rec As New Recordset
Dim ws As Worksheet
Dim sql As String
Dim lngI As Long
Set ws = ThisWorkbook.Worksheets("CODE ADO")
conn.Open "Provider=microsoft.jet.oledb.4.0;" + "Data Source=" + Sheets("Main").Range(" _
LA_AccessDB")
sql = "SELECT 'Vertrags-Nr', SUBAPP " & "FROM GLALLS"
rec.Open sql, conn
While Not rec.EOF
lngI = lngI + 1
ws.Cells(lngI, 1) = rec!'Vertrags-Nr' & rec!SUBAPP
rec.MoveNext
Wend
rec.Close
conn.Close
End Sub
Mein Problem ist, dass das Feld 'Vertrags-Nr" in der Datenbank eben mit Bindestrich bezeichnet ist. Im SELECT-Statement denke ich dies lösen zu können, indem ich dieses Feld in einfache Hochkommata stelle. Beim Schreiben aber funktioniert dies nicht, dabei rec!'Vertrags-Nr' das erste Hochkomma als Kommentaranfang in VBA interpretiert wird.
Kann mir jemand sagen, wie ich rec!Vertrags-Nr korrekt ansprechen kann?
p.s. Auf die Bezeichnung in der Access-DB habe ich leider keinen Einfluß, da ich diese von einem Kunden bekomme, der den Aufbau nicht ändern möchte.
Bin für jeden Tipp sehr dankbar.
Gruß
erwin