2 Stimmen

Wie importiert/verknüpft man Sql Server Compact Edition-Tabellen/Verknüpfungen mit Microsoft Access?

Ich muss meine Sql Server CE-Datenbank in MS Access verschieben, damit meine Benutzer, die mit Access vertraut sind, Abfragen auf den Daten ausführen können. Gibt es eine kostenlose Möglichkeit, dies zu tun?

Danke! David

3voto

Kevin Ross Punkte 7105

Sie haben zwei Möglichkeiten: Sie können die Daten entweder in Access importieren oder die Tabellen in Access verknüpfen, so dass die Daten in SQL CE bleiben und von Access nur referenziert werden.

Ich glaube nicht, dass Access sie direkt importieren kann. Sie müssen also eine ODBC-Verbindung zu Ihrer CE-Datei herstellen, indem Sie das ODNC-Administrationsprogramm in Windows verwenden. Sobald Sie das getan haben, können Sie mit dem nächsten Schritt fortfahren

Wählen Sie im Menü "Datei" die Option "Externe Daten abrufen" und dann entweder "Importieren" oder "Verknüpfen", je nachdem, welche Option Sie wünschen. Im nächsten Dialogfeld wählen Sie als Dateityp "ODBC-Datenbanken" und wählen die soeben erstellte ODBC-Verbindung aus.

Folgen Sie den Anweisungen auf dem Bildschirm und Roberts, der Bruder Ihrer Mutter

EDIT:

Sorry, ja ich meinte ODBC, mein Finger muss auf der Tastatur abgerutscht sein. Jedenfalls sieht es so aus, als gäbe es keinen ODBC-Treiber, aber einen OLEDB-Treiber, so dass Sie die Datenbank im Code mit ADO öffnen und sie entweder dort bearbeiten oder eine Schleife durch jede Tabelle ziehen und sie in eine zuvor erstellte Access-Tabelle einfügen können. Hier ist etwas Code, der zeigt, wie man einen SQL CE Datensatz in VBA öffnet

Sub test()
Dim pConn As ADODB.Connection
Dim pRS As ADODB.Recordset
Set pConn = New ADODB.Connection
Dim cmd As New ADODB.Command
Set pRS = New ADODB.Recordset
' For 3.0 use PROVIDER=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0
pConn.ConnectionString = 
"PROVIDER=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\Northwind.sdf"
pConn.Open

cmd.ActiveConnection = pConn
cmd.CommandText = "SELECT * FROM Products"
Set pRS = cmd.Execute
' Open the recordset
While Not pRS.EOF
    Debug.Print pRS(0)
    Debug.Print pRS(1)
    pRS.MoveNext
Wend
End Sub

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X