SQL durchsuchen
08.09.2016 07:17:39
baschti007
Gibt es eine schnellere Möglichkeit einen Wert aus einer SQL Datenbank Tabelle1 zusuchen und dann in SQL Datenbank Tabelle2 den Wert zufiltern und die Werte ausgeben als wie ich es bis jetzt mache?
Gruß Basti
Sub Con1()
Dim con As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim getCorpID As String
Dim SuchID As String
On Error GoTo err
con.ConnectionString = "Provider=SQLOLEDB;Data Source=ServerName;Initial Catalog=DATENBANK;User _
ID=Benutzer;Password=PW;" 'SQL Verbindung herstellen
con.Open
Set Rs.ActiveConnection = con
getCorpID = "SELECT * FROM dbo.Tabelle1" ' Recordset zu Datenbank Tabelle1
Rs.Open getCorpID, con, adOpenStatic, adLockReadOnly, adCmdText
Rs.Find "Seriennummer = '" & Range("A1").Value & "'" 'Ich Habe die SerienNummer in A1 und suche _
diese um danach die ID zunutzen
SuchID = Rs!ID
Rs.Close
Set Rs = Nothing
Set Rs.ActiveConnection = con
getCorpID = "SELECT * FROM dbo.Tabelle2" ' Recordset zu Datenbank Tabelle2
Rs.Open getCorpID, con, adOpenStatic, adLockReadOnly, adCmdText
Rs.Filter = "LinkedID = '" & SuchID & "'" ' Ich suche nun die Gefundene ID um alle einträge zu _
finden die unter LinkedID stehen
s = 3
Z = 7
Do While Not Rs.EOF ' Hier werden alle Feld aus dem Rs ausgelesen die in Field 5 ein Falsch _
stehen haben
If Rs.Fields(5) = FALSCH Then
For i = 0 To Rs.Fields.Count - 1
Debug.Print Rs.Fields(i)
Cells(Z, s) = Rs.Fields(i)
s = s + 1
Next
Z = Z + 1
s = 3
End If
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
err:
con.Close
Set con = Nothing
End Sub