SQL Server Express: Tabellen anlegen mit VBA

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

Auch hallo.

Hallo Experten,

Hält sich in Grenzen :frowning:

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.

Wieso nicht die Vollversion ?
Aber auf jeden Fall gibt die sog. ‚Microsoft SQL Server Management Studio Express‘. Mit der kann man auch SQL-Anweisungen zum Anlegen und Befüllen von Tabellen anlegen.
Aber wie man die SQL-Anweisungen einer Access Datenbank einsieht …?

Trotzdem:
HTH
mfg M.L. (Office 2007 Beta, SQL Server 2005 Express)

Wieso nicht die Vollversion ?

Weil die Express nix kostet. Für meine Anwendung reicht die SQL Server Express. Und theoretisch sollte die Handhabung ziemlich gleich sein.

Aber auf jeden Fall gibt die sog. ‚Microsoft SQL Server
Management Studio Express‘. Mit der kann man auch
SQL-Anweisungen zum Anlegen und Befüllen von Tabellen anlegen.

Das habe ich auch, damit habe ich die Datenbank auch angelegt. Aber meine Frage ist jetzt, wie bekomme ich die Inhalte von Excel-Tabellen in die SQL-Tabelle, und zwar auf Knopfdruck?

Bisher habe ich eine Access-Datenbank verwendet, und dazu in Excel ein VBA-Macro, die die Daten aus Excel in die Access-DB schreibt.
Aus diversen Gründen muss ich die Daten aber nun in einer SQL-DB führen, und da möchte ich natürlich die Excel-Daten genauso einfach übernehmen.
Oder gibts mit dem ‚Microsoft SQL Server Management Studio Express‘ eine Möglichkeit, mir die Daten aus der Excel-Datei sozusagen zu holen?
Wie ich schon sagte: ich bin kein DB-Experte. Ich benötige auch keine Abfragen oder sonst was, ich will nur die Tabellen erzeugen und befüllen.

Gruß

Klaus