Suchfunktion Unterformular 2007
Hallo
Ich habe in einem Formular viele Daten, nun habe ich ein Text-Feld (txtsuchen) erstellt.
Beim Ereignis --> Bei Änderung folgenden VBA-Code angefügt!
Option Compare Database
Option Explicit
Private Sub Form_Open(Cancel As Integer)
Me!txtsuchen.SetFocus
End Sub
Private Sub txtSuchen_Change()
If Me.Dirty Then
DoCmd.RunCommand acCmdSaveRecord
End If
Me.RecordsetClone.FindFirst ("[Nachname] Like '" & txtsuchen.Text & "*' or [Vorname]Like '" & txtsuchen.Text & "*'or [PLZ]Like '" & txtsuchen.Text & "*'or [Telefon]Like '" & txtsuchen.Text & "*'or [Mobil]Like '" & txtsuchen.Text & "*'or [Konto]Like '" & txtsuchen.Text & "*'or [ID-Kunde]Like '" & txtsuchen.Text & "*'")
If Me.RecordsetClone.NoMatch Then
txtsuchen.SelStart = Len("" & txtsuchen.Text)
Exit Sub
Else
Me.Bookmark = Me.RecordsetClone.Bookmark
txtsuchen.SelStart = Len("" & txtsuchen.Text)
End If
End Sub
Das Problem besteht darin das er nur nach Daten im Formular suchen kann , ich kann keine Daten im Unterformular suchen. Wenn ich Felder aus dem Unterformular im Code anfüge, reagiert der code nicht.
Hat jemand eine Idee?
Danke
Antwort schreiben
Antwort 1 von Teddy7 vom 05.10.2019, 09:14 Options
Me.RecordsetClone.......... bezieht sich (wie der Name schon sagt) auf me - also auf das Formular, das gerade den Focus hat.
Du kannst also auf diese Art nie auch nach Feldern des Unterformulars suchen.
Du mußt also entweder für die Suche nach Unterformularfeldern erst den Focus auf´s UF setzen und dann so suchen, oder Du mußt die gewünschten Felder in die Abfrage integrieren, die Datenquelle des HF ist, oder Du mußt ganz anders suchen.
Ich programmiere suche immer so, dass ich als Ergebnisformular ein Endlosformular anlege, das alle relevanten Daten enthält. Dazu habe ich ein Suchformular, in dem ich für jedes Feld Kriterien eingeben kann (oder eben nicht). Bei klick wird dann das Ergebnisformular geöffnet und dabei kann man die Kriterien wie eine where-Klausel zusammenstellen und mitgeben.
Gruß
Teddy
Antwort 2 von jimmy81 vom 05.10.2019, 13:43 Options
Kann ich den Code nicht irgentwie modifizieren, sodass es trotzdem funktoniert? Ich habe versucht die Felder des UFs in dem Quelltext einzufügen, aber leider kenne ich den Syntax nicht. Das Programm meckert dann immer.
Das Problem ist das ich das Formular so aufgebaut habe und möglichst nicht abändern will. ich möchte nicht umbedingt noch ein Suchformular, das macth die Sache unübersichtlich.
Gruß
Jimmy81