Januar 24, 2021, 03:38:03

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Erweiterte Suchfunktion in Formularen (kein Kombinationsfeld)

Begonnen von zallma, Januar 05, 2021, 13:44:09

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,




Dataentry  kann ja wieder auf False gesetzt werden, wenn gesucht werden soll.


oder
beim Laden nach False filtern:

Sub Form_Load()
Me.Filter = "1=2"
Me.Filteron =True
End Sub

zallma

Hallo,

Zitat von: DF6GL am Januar 07, 2021, 09:43:30Dataentry  kann ja wieder auf False gesetzt werden, wenn gesucht werden soll.
Habe jetzt an verschiedenen Stellen versucht, über "Form.Dataentry = False" die Funktion auszustellen. Wenn ich das bspw. in den Sub stelle der die Suche anstößt, funktioniert diese danach nicht mehr. Wenn also in der Kombobox was ausgewählt wird, ändern sich die Datensätze nicht entsprechend der KundenID.

Zitat von: DF6GL am Januar 07, 2021, 09:43:30Sub Form_Load()
Me.Filter = "1=2"
Me.Filteron =True
End Sub
Nach Einfügen dieser Variante bleibt das Formular nachwievor bei der Einstellung "Dataentry = True"

An welcher Stelle müsste ich denn das sinnvoller Weise einfügen und muss ich das nach Ausführen des SuchSubs wieder an anderer Stelle zurücksetzen?


Das Ganze ist tatsächlich relativ wichtig, weil sonst immer eine KundenID ausgewählt ist und alle Felder entsprechend ausgefüllt werden. Wenn dann ein neuer Datensatz angelegt werden soll, müssen zunächst alle Felder manuell geleert werden...


Vielen Dank für eure Ausdauer bei meinem Problem :D

DF6GL

Hallo,


ZitatNach Einfügen dieser Variante bleibt das Formular nachwievor bei der Einstellung "Dataentry = True"


Die Eigenschaft muss hierbei  im Formularentwurf wieder auf Nein gestellt werden!

zallma

Zitat von: DF6GL am Januar 07, 2021, 13:58:14Die Eigenschaft muss hierbei  im Formularentwurf wieder auf Nein gestellt werden!

Dann funktioniert das Ganze auch. Habe jetzt die Gegenoperation in den Sub vom Kombinationsfeld aufgenommen. Bei Auswahl eines Namens springt der Filter dann wieder raus. Einziges verbleibendes Problem hierbei: Bei erstem Auswählen eines Kontaktes, springt er zunächst auf immer den gleichen Kontakt (als wäre er per Default hinterlegt). Beim zweiten Klicken auf den gewünschten Kontakt, funktioniert es dann.

Als Standardwert für die Box ist nichts hinterlegt, also mag es evtl. am Code liegen. Hier nochmal der Abschnitt wie er jetzt aktuell steht:
Private Sub cboKundeSuchen_AfterUpdate()
    ' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.
    Me.Filter = "1=2"
    Me.FilterOn = False
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[KundenID] = " & Me.cboKundeSuchen
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

Ist jetzt nichts schlimmes, aber lässt sich das evtl. auch noch beheben?

Danke!

DF6GL

Hallo,

was machst Du denn da??


Sub Form_Load()
Me.Filter = "1=2"
Me.Filteron =True
End Sub


  'und


Private Sub cboKundeSuchen_AfterUpdate()
    Me.Filter = "[KundenID] = " & Me!cboKundeSuchen
    Me.FilterOn = False
 
End Sub