Microsoft Excel

Herbers Excel/VBA-Archiv

sql abfrage

Betrifft: sql abfrage von: heiko
Geschrieben am: 21.11.2012 22:18:34

Hallo,

ich habe eine excel - datei mit Werten in Spalte A (Name als String) und Spalte C ( Bildnr als Zahl). Über eine schleife möchte ich zeilenweise werte aus einer sql Datenbank in die excel Tabelle eintragen. Die Verbindung zum server funktioniert und die ersten werte in zeile 5 kann ich auch finden und in die excel tabelle eintragen. für die weiteren zeilen funktioniert der vba-Code nicht (siehe unten).
Für Tips währe ich dankbar

gruß

heiko

Sub Sql_Test()
 
strServer = "sql-server"         ' "Servername"
strDatabase = "dBank"        ' "Datenbankname"
strPass & "
strPass = ""                    ' "Passwort"
strUser = "xxUser"                  ' "User"
 
    Set con = CreateObject("adodb.connection")
    Set rs = CreateObject("adodb.recordset")
    con.Open "Provider=sqloledb; Data Source=sql-server; Initial Catalog=dBank; User Id=xxUser;  _
 _
Password=;"
    
zl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
 
For a = 5 To zl
On Error Resume Next
    sName = Cells(a, 1)
    sBildnr = Cells(a, 3)
    
    rs.Open "SELECT * FROM dbo.xxtk50 WHERE dbo.xxk50.Name='" & sName & "' and dbo.xxk50.bildnr= _
 _
'" & sBildnr & "'", con
   
        Cells(a, 12) = rs("Name")
        Cells(a, 13) = rs("bildnr")
        Cells(a, 14) = rs("x")
        Cells(a, 15) = rs("y")
  
Next a
    rs.Close
    Set rs = Nothing
    Set con = Nothing
 
End Sub

  

Betrifft: AW: sql abfrage von: guentherh
Geschrieben am: 22.11.2012 08:29:41

Hallo Heiko,

ohne es selbst ausprobieren zu können, probier doch mal die Zeilen

         Next a
    rs.Close

zu vertauschen.

Gruß,
Günther


  

Betrifft: AW: sql abfrage von: heiko
Geschrieben am: 22.11.2012 18:47:01

Hallo Günther,

guter Tip. Es funktioniert prima.
Ich hatte bereits Stunden damit verbracht.
Vielen Dank noch mal.
Nur noch eine Frage. Wie kann ich abfragen, ob eine Verbindung besteht und ich eine Meldung mit
(Msgbox ???) erhalte

gruß

heiko


  

Betrifft: AW: sql abfrage von: guentherh
Geschrieben am: 23.11.2012 08:23:50

Hallo Heiko,

- ob eine Verbindung besteht :
Schau die Property "State" des Connection-Objekts an, vielleicht hilft Dir das.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms675068(v=vs.85).aspx

- und ich eine Meldung mit (Msgbox ???) erhalte :
verstehe diese Frage nicht.

Gruß,
Günther



 

Beiträge aus den Excel-Beispielen zum Thema "sql abfrage"