habe folgendes Problem, hole mir per folgender Anweisung Daten vom SQL Server
strConn = "Provider=SQLOLEDB;DATABASE=DB;Server=SQL;UID=;PWD="
strSQL = "SELECT Jahr_S, Schulf, Schulform, OE_S, PGr, PKl, SIGr, SIKl, SIIGr, SIIKl, SUSGr, SUSKl FROM tbl_42_5_Schueler_Statisik_TAB WHERE (Jahr_S = N'2008/09') ORDER BY OE_S"
Set conn = New ADODB.Connection
conn.Open strConn 'Öffnen
Set RS = New ADODB.Recordset
RS.Open strSQL, conn, adOpenKeyset, adLockOptimistic
For i = 2 To RS.RecordCount + 1
If ActiveCell.Value = RS!OE_S Then
If RS!Schulform = "GS" Then
ActiveCell.Offset(0, GS).Select
ActiveCell.Value = RS!PKl
ActiveCell.Offset(0, 96).Select
ActiveCell.Offset(0, KGS).Select
ActiveCell.Value = RS!PGr
ActiveCell.Offset(0, 87).Select
End If
RS.MoveNext
Next i
ActiveCell.Offset(1, 0).Select
RS.Close
conn.Close
Set RS = Nothing
Set conn = Nothing
End Sub
Das Problem ist nun, ich erhalte als Ergebniss 114 Datensätze, bestimmte Werte sollen nun in Zellen eingetragen werden. Habe nun eine Schleife gebastellt. Dann vergleiche ich den Inhalt einer Zelle mit dem Wert rs!OE_S wenn der nungleich ist springt er mir in eine bestimmte Zelle und trägt dann die Werte rs!SIIKl ein.
Will nun aber nicht alle recordsets durchlaufen um den passenden Wert zu finden.
Würd viel lieber umgekehrt arbeiten, d.h. er liest mir den Wert der Zelle aus und er sucht sich dann den passenden recordset aus.
Gibt es die Möglichkeit, wenn ja welche wie müsste ich da ran gehen.
Vielen Dank erstmal und falls noch Infos benötigt werden, dann sagt einfach bescheid. Hoffe ihr habt eine Lösung....
Gruß
Jens