online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon beata_f vom 23.03.2021, 15:20 Options

Access Fehlermeldung bei Filteranwendung

Hallo Spezialisten!

Ich hab in einem Endlosformular ein "Suchfeld" Vorname in das dann zB Hans eingegeben wird und daraufhin wird das Formular nach allen Hans gefiltert. Wenn ich aber zB "Hx..." eingebe, also einen Namen, den es nicht gibt, bekomme ich eine Fehlermeldung "Laufzeitfehler 2185: Sie können die Eigenschaften oder Methoden eines Steuerelements nur dann auswerten, wenn das Steuerelementde Fokus hat". Gibt es eine Möglichkeit, eine Meldung ausgeben zu lassen, dass es den Eintrag nicht gibt oder wenigstens, dass nichts passiert, also nicht der "Debugger" gestartert wird?

Vielen Dank im Voraus für jede Idee !!!

Private Sub SFVorname_Change()
If Nz(Me!SFVorname.Text) <> "" Then
Me.Filter = "Vorname Like '" & Me!SFVorname.Text & "*'"
Me.FilterOn = True
Else
Me.FilterOn = False
Exit Sub
End If
Me!SFVorname.SelStart = Len(Me!SFVorname.Text)

End Sub


Antwort schreiben

Antwort 1 von RaHi vom 23.03.2021, 20:34 Options

Hallo,

zwei Fragen.
Warum verwendest du die SelStart-Eigenschaft und warum .Text statt .Value? Zu Text und Value findest du eine gute Hilfe in Access, was ich nicht besser ausdrücken könnte. Einfach den Cursor auf .Text stellen und F1 drücken.

Gruß
Ralf

Antwort 2 von beata_f vom 23.03.2021, 21:32 Options

Hallo Ralf,

ich habe mir den Code "zusammengesucht" und rumprobiert, da ich in VBA überhaupt (noch) nicht fit bin! Daher weiss ich leider nicht, warum hier die SelStart-Eigenschaft genommen wurde.

Ich habe .text mal gegen .value ausgetauscht, aber dann funktioniert das ganze Formular bzw. das Filtern nicht mehr.

Die Hilfe hierzu habe ich mir angeschaut, aber dafür reicht´s bei mir leider einfach nicht ...

Trotzdem danke für Deine Hilfe!

Antwort 3 von RaHi vom 23.03.2021, 22:13 Options

Hallo,

ich würde die Zeile mit "selStart" auskommentieren (einfach ' vor die Zeile setzen). Das sollte das Problem mit der Fehlermeldung erst einmal beseitigen.

Gruß
Ralf

Antwort 4 von beata_f vom 25.03.2021, 17:50 Options

Hallo Ralf,

wenn ich die auskommentiere, funktioniert´s aber leider nicht mehr, dann kann ich immer nur einen Buchstaben eingeben ...

Antwort 5 von RaHi vom 25.03.2021, 22:02 Options

Hallo,

falls du nicht bei jedem neuen Buchstaben den Filter aktualisieren musst, hier ein nicht so resourcenfressende Variante:
Private Sub SFVorname_AfterUpdate()
If Nz(Me!SFVorname.Text) <> "" Then
   Me.Filter = "Vorname Like '" & Me!SFVorname.Text & "*'"
   Me.FilterOn = True
 Else
   Me.FilterOn = False
End If
Me!SFVorname = ""
End Sub

Ich gehe auf das Ereignis AfterUpdate, gefiltert wird also erst nach "return".

Gruß
Ralf

Ähnliche Themen

access
Coco1  21.09.2007 - 57 Hits - 1 Antwort

Access
ich123  26.09.2007 - 56 Hits - 1 Antwort

access
hatschka  28.09.2007 - 24 Hits - 1 Antwort

MS Access
knipser  13.03.2008 - 51 Hits - 4 Antworten

Access Datenbank Fehlermeldung
Kajobo  09.05.2008 - 58 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026