PDA

Vollständige Version anzeigen : SQL Server 2005 Express


T_B__
13.07.2006, 16:44
Hallo,

Ich will aus Excel heraus auf eine SQL Datenbank (SQL Server 2005)
zugreifen.
Wie kann ich eine Verbindung mit dem Server herstellen und auf die Daten auf der Datenbank zugreifen?

MRR
14.07.2006, 10:09
Hallo Mensch_ohne_Name,
probiere es mal so:

Sub SQLServerTest()
Dim conSQL As ADODB.Connection
Dim rs As New ADODB.Recordset

Set conSQL = Make_Connection("SV12345", "MeineTolleDatenbank")
'Nur Daten lesen
rs.Open "SELECT Feldliste FROM Tabellenname WHERE Kriterienliste", conSQL, adOpenForwardOnly, adLockReadOnly
Do While Not rs.EOF
Debug.Print rs.Fields(0) & " " & rs.Fields(1)
rs.MoveNext
Loop
rs.Close

'Daten auch schreiben
rs.Open "SELECT Feldliste FROM Tabellenname WHERE Kriterienliste", conSQL, adOpenDynamic, adLockOptimistic
rs!EinTabellenfeld = EinWert
rs.Update
rs.Close

'Oder auch direkt was in einer Tabelle machen:
conSQL.Execute "UPDATE DeineTabelle SET DeinFeld=EinZahlwert WHERE Bedingung"
conSQL.Execute "UPDATE DeineTabelle SET DeinFeld='EinTextwert' WHERE Bedingung"
conSQL.Execute "DELETE FROM DeineTabelle WHERE Bedingungen"
End Sub

Public Function Make_Connection(strSQLServer As String, strDatabase As String) As ADODB.Connection
'Öffnet eine Connection auf SQLServer
Dim con As ADODB.Connection

Set con = New ADODB.Connection
con.CursorLocation = adUseClient
con.Open "Provider=SQLOLEDB;Integrated Security=SSPI;Data Source=" & strSQLServer & ";Initial Catalog=" & strDatabase
Set Make_Connection = con
End Function

T_B__
18.07.2006, 20:10
Danke, hat prima funktioniert.

Ich verwende die SQL Server-Authentifizierung, deshalb musste ich die User ID und das Passwort noch hinzufügen.

Es gibt aber noch ein Problem.
Den Server, der lokal auf meinem Rechner ist, kann ich nicht übers Netzwerk erreichen. :(


T_B__