Hallo,
die Aussage ....
ZitatIch weiß das ich hierzu ODBC verwenden muß
.... halte ich für ein unbestätigtes Gerücht!
Besser klingt da schon "Ich weiß das ich hierzu ODBC verwenden KANN"
Wenn du einen Datenbankzugriff per VBA realisieren willst ist m.E. immer noch ADO die geeignetste Technik.
Du findest hier http://www.activevb.de/tutorials/tut_adokurs/adokurs.html (http://www.activevb.de/tutorials/tut_adokurs/adokurs.html) die Grundlagen des Datenbankzugriffs auf SQL Server per ADO und VB/VBA recht verständlich beschrieben und mit Codebeispielen illustriert, sowie hier einige weitere sehr gute Tipps und Informationen .... http://www.activevb.de/tutorials/tut_ado_db/adodb.html (http://www.activevb.de/tutorials/tut_ado_db/adodb.html)
Den ODBC Treiber für Access / SQL Server findest du nicht bei Access, dort kannst du sie einsetzen / verwenden.
ODBC ist Bestandteil des Betriebssystems Windows - du findest die Treiber in der Systemsteuerung!
Start --> Systemsteuerung ---> Datenquellen(ODBC) bei Windows XP und Windows 7
Hier KANNST du Datenquellen erstellen, die du danach in deinen Codes weiterverwenden KANNST.
Eines der Schlagworte beim programmierten Datenbankzugriff ist 'Connectionstring' ---> hier findest du sehr detaillierte Informationen und Beispiele für solche Strings
http://www.connectionstrings.com/sql-server (http://www.connectionstrings.com/sql-server)
Eine einfache Methode um auf einen SQL-Server 2000 per ADO zuzugreifen ist folgende:
Option Explicit
Public cnn As ADODB.Connection
Public Sub connectSQL()
Set cnn = New ADODB.Connection
With cnn
.Provider = "SQLOLEDB.1"
.Properties("Data Source") = "(local)"
.Properties("Initial Catalog") = "DieDatenbank"
.Properties("Integrated Security") = "SSPI"
.Open
End With
end Sub
Danach kann das ConnectionObject cnn für weitere Aktionen (INSERT, UPDATE, SELECT, ...) verwendet werden bis dann mittels ...
cnn.Close
... die Verbindung zum SQL Server bzw zur Datenbank geschlossen wird.
HTH
Peter