Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Parzelle387 am Februar 20, 2020, 13:02:00

Titel: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Parzelle387 am Februar 20, 2020, 13:02:00
Mahlzeit,

folgendes Problem. Ich möchte in einem Formular einen Datensatz suchen (ausschließlich Zahlen). Hierfür habe ich einen Button erstellt, der ein Formular öffnet. Hier ist ein ungebundenes Textfeld, in dem ich den zu suchenden Wert eingeben möchte. Mit einem Klick auf den darunter befindlichen Button möchte ich das entsprechende Formular öffnen und den Datensatz angezeigt bekommen.
Folgendes hab ich schon:
DoCmd.OpenForm "Mandanten"
Forms!Mandanten.Recordset.FindFirst "Text1= " & Me!Text0
DoCmd.Close acForm, "MandantenSuchen"

"Mandanten"= Formular in dem der gesuchte Datensatz angezeigt werden soll
"Text1" =  Textfeld das den gesuchten Wert enthält/enthalten soll (Das Suchergebnis sozusagen)
"Text0" = ungebundenen Textfeld in das die Suche eingegeben wird.

Öffnen des Formulars und schließen des "Suchformulars" funktioniert schon Prima  ;D

Vielen Dan für eure Hilfe
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Beaker s.a. am Februar 20, 2020, 17:53:54
Schon mal gut, dass dein Formular nicht "Formular1" heisst. Die restliche Benamsung ist gräuslich.
"Text1" muss ein Feld der Mandantentabelle sein.
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Parzelle387 am Februar 20, 2020, 19:51:54
OK.
ich hab die Textfelder umbenannt.

Private Sub Datensatz_suchen_Click()
DoCmd.OpenForm "Mandanten"
Forms!Mandanten.Recordset.FindFirst "Mandantennummer=" & Me!MandantenSuche
DoCmd.Close acForm, "MandantenSuchen"
End Sub

Text1 ist jetzt Mandantennummer und befindet sich im Formular Mandanten
Text0 ist jetzt MandantenSuche und ist das textfeld in dem Formular wo ich die "Suchekriterien" eingebe.

Doch leider sucht er nichts. Es öffnet sich das Formular Mandanten, aber mit einem leeren Datensatz. Und schließt mein PopUp Fenster.....
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: PhilS am Februar 20, 2020, 20:02:54
Zitat von: Parzelle387 am Februar 20, 2020, 19:51:54
Text1 ist jetzt Mandantennummer und befindet sich im Formular Mandanten
Da liegt das Problem. Für FindFirst musst du den Namen des entsprechenden Tabellenfeldes angeben.
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Parzelle387 am Februar 20, 2020, 20:09:09
Das heisst auch Mandantennummer 8)
Das funktioniert dann bestimmt nicht, oder ?

Es wird doch aber auf das Formular (Forms!Mandanten) verwiesen ?!?
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: DF6GL am Februar 20, 2020, 21:58:55
wenn das Feld "Mandantennummer" (in der Tabelle) den Datentyp TEXT hat, dann sind Hochkommata erforderlich:

..... "Mandantennummer='" & Me!MandantenSuche & "'"
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Parzelle387 am Februar 20, 2020, 23:30:47
Ist Feldtyp Zahl.

Funktioniert trotzdem nicht  :'(
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: MzKlMu am Februar 21, 2020, 00:19:02
Hallo,
bei Zahl müssen die Hochkomma weg.
..... "Mandantennummer=" & Me!MandantenSuche
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Parzelle387 am Februar 21, 2020, 09:30:30
Keine Hochkommas drin:

DoCmd.OpenForm "Mandanten"
Forms!Mandanten.Recordset.FindFirst "Mandantennummer= " & Me!MandantenSuche
DoCmd.Close acForm, "MandantenSuchen"

Aber ausser Formular öffnen und das PopUp schließen funktioniert nichts.
Der Cursor blinkt zwar im richtigen Feld, aber er zeigt ein leeres Formular.
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Josef P. am Februar 21, 2020, 11:02:13
Hallo!

Falls nur der eine Datensatz genutzt werden soll, würde ich nicht zum Datensatz springen, sondern die Datenquelle filtern.

docmd.OpenForm "Mandanten",,,"Mandantennummer=" & Me!MandantenSuche


Falls zum jeweiligen DS mittels FindFirst gesprungen werden soll, würde ich den Umweg über RecordsetClone und NoMatch-Prüfung gehen. (Anm.: ich gehe von einem DAO-Recordset aus.)
With Forms!Mandanten
   With .RecordsetClone
      .FindFirst "Mandantennummer=" & Me!MandantenSuche
      If .NoMatch Then
         MsgBox "Oje"
      Else
         Me.Recordset.Bookmark = .Bookmark
      End If
   End With
End With


mfg
Josef
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Parzelle387 am Februar 21, 2020, 12:12:36
Ich möchte nur den EINEN Datensatz finden, um Änderungen vor zu nehmen falls notwendig.

Es funktioniert weder das eine noch das andere  :'(
Das erste läuft genauso durch wie das was ich vorher hatte, Formular öffnet sich und PopUp schließt sich, mehr nicht.

Beim zweiten öffnet sich das VBA Fenster und er meckert über das 2. With-Objekt. Es muüsste einen benutzerdefinierten Typ oder den Typ Object oder variante haben.
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Josef P. am Februar 21, 2020, 12:48:27
Welche Datenquelle hat das Formular.
Wenn die 1. Variante keinen Datensatz anzeigt, dann gibt es keinen Datensatz für diesen Filterausdruck in der Formular-Datenquelle oder das Formular erlaubt nur das Anfügen von DS. Ist eventuell die Eigenschaft "Daten eingeben" auf Ja gesetzt?
Titel: Re: Suchfunktion mit PopUp Fenster im Formular
Beitrag von: Parzelle387 am Februar 21, 2020, 13:34:15
Juhuuuuu.

Das mit dem Daten eingeben war es. Das muss aber standardmäßig so gewesen sein, kann mich nicht erinnern
da etwas geändert zu haben.

VIIIIELENDANK ! ;)