Moin, ich versuche gerade über zwei Kombinationsfelder in meinem Formular einen Datensatz aus meiner Tabelle zu suchen und dann dort in einem Feld was einzutragen.
Leider funktioniert das Suchen des Datensatzes nur mit einem Kriterium :/
Hier mal mein aktueller Code
Private Sub Befehl205_Click()
Dim rst As DAO.Recordset
Dim IntSearchID As Integer
Dim IntSearchID2 As Integer
Set rst = CurrentDb.OpenRecordset("tblFahrzeugMitarbeiterzuweisung", dbOpenDynaset)
IntSearchID = CInt(Me!CombiNamen2)
IntSearchID2 = CInt(Me!CombiDatum2)
rst.FindFirst "Mitarbeiter_ID = " & IntSearchID" ' And DienstplanID = " & IntSearchID2" <--- hier klappt es nur mit einem Kriterium :/
If rst.NoMatch Then
MsgBox "Datensatz nicht gefunden"
Else
MsgBox "klappt" hier sollte nun im Feld Kommentar der Wert aus meinem Textfeld eingetragen werden. Nur k.A. wie....
End If
rst.Close
End Sub
Könnt ihr mir da auf die Sprünge helfen?
Als Fehlermeldung bei zwei Auswahlkriterien kommt "Typen unverträglich" beide Felder sind aber als "Zahl"als Feldeingenschaft in der Tabelle hinterlegt
Danke :)
Hallo,
sollte so gehen:
rst.FindFirst "Mitarbeiter_ID = " & IntSearchID & " And DienstplanID = " & IntSearchID2
Gruß Andreas
Jo super das mit dem zweiten Kriterium klappt schomal, danke :)
Nun muss nur noch das Feld Kommentar in dem Datensatz beschrieben werden.....
Ich such noch weiter, wenns einer weiß, immer her damit ;)
wie wäre es damit:
rst.edit
rst!FeldName = "BlaBla"
rst.update
Gruß Andreas
Statt einer VBA-Suche könnte man auch gleich ein gefiltertes Recordset verwenden - Filtern per SQL ist mächtig und schnell:
Set rst = CurrentDb.OpenRecordset( _
"SELECT * FROM tblFahrzeugMitarbeiterzuweisung" & _
" WHERE Mitarbeiter_ID = " & Me!CombiNamen2 & " And DienstplanID = " & Me!CombiDatum2, _
dbOpenDynaset)
With rst
If .EOF Then
MsgBox "Datensatz nicht gefunden"
Else
.Edit
.Fields("Feldname") = "0815"
.Update
End If
.Close
End With
MfGA
ebs
super danke, so funktionierts :)
hab nu die SQL Variante von ebs genommen.