Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Etwas Hilfe beim RecordSet?!

Begonnen von Xoar, Juni 07, 2011, 23:53:21

⏪ vorheriges - nächstes ⏩

Xoar

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 :)

Hondo

Hallo,
sollte so gehen:
rst.FindFirst "Mitarbeiter_ID = " & IntSearchID & " And DienstplanID = " & IntSearchID2

Gruß Andreas

Xoar

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 ;)


Hondo

wie wäre es damit:
rst.edit
rst!FeldName = "BlaBla"
rst.update

Gruß Andreas

ebs17

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

Xoar

super danke, so funktionierts :)

hab nu die SQL Variante von ebs genommen.