ich möchte Daten aus einer DB über einen VBA-Code in Excel verändern, dabei sollen aber erst 2 Kriterien geprüft werden und wenn beide Kriterien stimmen, soll ein festgelegter Wert je Datensatz geändert werden. Es gibt eine Userform, aus der der Code das Criteria:s und und j2006 entnimmt. Als Datenbank wird Access verwendet.
Hier mal der Code, er läuft, aber er macht nicht das, was er soll.
Dim ADOC As New ADODB.Connection
Dim dbs As New ADODB.Recordset
Dim pfad As Variant
Dim s As Variant
pfad = UserForm47.P2
s = Fkz.Value
Set ADOC = New ADODB.Connection
With ADOC
.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" & pfad & " "
dbs.Open "ast", ADOC
End With
Set dbs = New ADODB.Recordset
With dbs
.Open Source:="ast", _
ActiveConnection:=ADOC, _
CursorType:=adOpenKeyset, _
LockType:=adLockOptimistic
.Find criteria:=s, SearchDirection:=adSearchForward
If Not .EOF Then
Do While Not .EOF
If j2006 1 Then
dbs!e1 = dbs!e2 * j2006
Else
dbs!e1 = dbs!e2
End If
.Find criteria:=s, skiprecords:=1
dbs.Update
dbs.MoveNext
Loop
.Close
End If
End With
ADOC.Close
Set dbs = Nothing
Set ADOC = Nothing
Weiss jemand von Euch einen Tipp?
Danke für Eure Hilfe und einen schönen Sonntag.
Gruß
Stefan