Hallo Experten,
ich habe ein Problem(chen).
Ich habe mehrere Tabellen, die ich in Excel pflege, daraus möchte ich per VBA-Makro Tabellen in einer SQL-Datenbank erzeugen, ich verwende SQL Server Express 2005.
Access-Tabellen erzeugen hat funktioniert (Dank an http://www.schmittis-page.de/index.html?/excel/vba/t…), aber das reicht leider nicht mehr.
Geschafft habe ich bisher nur das Öffnen und Schließen der Datenbank (Dank VBA-Hilfe-Beispiel), aber wie ich an die Tabellen zum Erzeugen, Löschen, Lesen und Schreiben komme, ist mir ein Rätsel.
Das Öffnen und Schließen sieht bisher so aus:
'Dieses Beispiel öffnet mit der OpenDatabase-Methode eine Microsoft SQL-Datenbank sowie zwei mit Microsoft SQL verbundene ODBC-Datenbanken.
Sub OpenDatabaseX()
Dim wrkSQL As Workspace
Dim dbsTEST As Database
Dim prpLoop As Property
Debug.Print „…“
’ Create Microsoft SQL Workspace object.
Set wrkSQL = CreateWorkspace("", „Testuser“, „Testpasswort“, dbUseODBC)
’ Open Database object from saved Microsoft SQL database
’ for not exclusive use.
’ Note: The DSN referenced below must be set to
’ use Microsoft Windows NT Authentication Mode to
’ authorize user access to the Microsoft SQL Server.
MsgBox „Opening TEST…“
Set dbsTEST = wrkSQL.OpenDatabase(„TEST-SQL“, _
dbDriverCompleteRequired, _
True, _
„ODBC;DATABASE=TEST-SQL;DSN=TEST-SQL“)
’ Enumerate the Databases collection.
For Each dbsLoop In wrkSQL.Databases
Debug.Print "Database properties for " & _
dbsLoop.Name & „:“
On Error Resume Next
’ Enumerate the Properties collection of each Database
’ object.
For Each prpLoop In dbsLoop.Properties
If prpLoop.Name = „Connection“ Then
’ Property actually returns a Connection object.
Debug.Print " Connection[.Name] = " & _
dbsLoop.Connection.Name
Else
Debug.Print " " & prpLoop.Name & " = " & _
prpLoop
End If
Next prpLoop
On Error GoTo 0
Next dbsLoop
wrkSQL.BeginTrans
'hier muss wohl die Aktion stattfinden…
wrkSQL.CommitTrans
dbsTEST.Close
wrkSQL.Close
End Sub
Ach ja…ich muss leider gestehen, dass ich nicht wirklich Ahnung habe von Datenbanken im Allgemeinen und SQL im Besonderen, mehr als die Grundkenntnisse sind nicht drin.
Kann mir da vielleicht jemand weiterhelfen?
Ciao und vielen Dank schon mal
Klaus