August 15, 2020, 07:23:16

Neuigkeiten:

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


Probleme mit Recordset.FindFirst und Strings

Begonnen von Maximilian, Juni 11, 2020, 23:30:29

⏪ vorheriges - nächstes ⏩

Maximilian

Hallo Zusammen,

habe bereits häufiger mit der FindFirst-Methode aus VBA ein Formular geöffnet und einen bestimmten Datensatz anzeigen lassen. Bisher waren die Kriterien nach denen gefiltert wurde Ganzzahlen, was immer gut funktioniert hat.

Nun muss ich aber nach einem String filtern, was mir immer eine Fehlermeldung mit einem Datentypenkonflikt erzeugt. Nur verstehe ich nicht weshalb???

Hier erstmal mein Code. Auf dem Formular frmStartseite soll ein Suchkriterium in ein ungebundenes Texfeld txtAromaAnzeigenCode eingegeben werden und daraufhin das Formular frmAromen mit dem Ergebniss des Suchstrings geöffnet werden.


Private Sub txtAromaAnzeigenCode_AfterUpdate()              'show entered aroma
    With txtAromaAnzeigenCode
        DoCmd.OpenForm "frmAromen"
        Forms!frmAromen.Recordset.FindFirst "Code=" & .Value
        DoCmd.Close acForm, "frmStartseite", acSaveYes
    End With
End Sub


Danke schonmal für eure Aufklärung, weshalb hier ein Datentypenkonflikt vorliegen soll :-\

PhilS

Zitat von: Maximilian am Juni 11, 2020, 23:30:29
Nun muss ich aber nach einem String filtern, was mir immer eine Fehlermeldung mit einem Datentypenkonflikt erzeugt. Nur verstehe ich nicht weshalb???
Ein Text-Kriterium musst du in Hochkommata einschließen.

Forms!frmAromen.Recordset.FindFirst "Code='" & .Value & "'"

Als weiterführende Information möchte ich dir mein VBA-SQL-String Tutorial ans Herz legen.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

Maximilian

Hallo PhilS,

danke für deine super Antwort  :D, auch das Tutorial hilft mir sehr weiter.

Grüße,
Maximilian