Juli 12, 2020, 18:42:54

Neuigkeiten:

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


Unterformular mit Textfeld binden

Begonnen von Denis, Mai 04, 2020, 18:57:49

⏪ vorheriges - nächstes ⏩

Beaker s.a.

Hallo Denis,
Zum Finden einer Baureihe nimmst du am Besten ein ungebundenes Kombi
im HFo "Baureihen",
- DS-Herkunft:
SELECT BaureiheID, FeldInDemDuSuchenWillst, WeitereFelderFallsGewuenscht
FROM tblBaureihen
ORDER BY FeldInDemDuSuchenWillst

Spaltenzahl: mind. 2
Spaltenbreiten: 0cm; weitere wie gewünscht
gebundene Spalte: 1
Das Ereignis Nach Aktualisierung stellst du auf "Ereignisprozedur" und fügst
folgenden Code in das Formularmodul ein
Private Sub NameDeinesKombis_AfterUpdate()
    Me.Recordset.FindFirst "BaureiheID = " & Me.NameDeinesKombis
End Sub

Willst du nach Teilstrings im "FeldInDemDuSuchenWillst" suchen, geht es
natürlich besser mit einem normalen Textfeld. Der Code lautet dann
Private Sub NameDeinesTextfeldes_AfterUpdate()
    Me.Recordset.FindFirst "FeldInDemDuSuchenWillst LIKE *" & Me.NameDeinesTextfeldes & "*"
End Sub


gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

Denis

Mai 22, 2020, 14:19:29 #31 Letzte Bearbeitung: Mai 22, 2020, 14:46:05 von MzKlMu
Vielen Dank, den ersten Teil hab ich hingekriegt. Funktioniert super!


Mein Code für die Datensatzherkuft sieht jetzt so aus:

SELECT [tblBaureihe].[BaureiheID], [tblBaureihe].[Baureihe]
FROM tblBaureihe
ORDER BY [BaureiheID]

Den zweiten Teil krieg ich überhaupt nicht zum laufen. Kommt immer der Debugger. Muss ich das Kombi vorher löschen und nur mit Textfeld arbeiten?




MzKlMu

Hallo,
zeige bitte den Code bei dem der Debugger kommt. Wie sonst soll man einen Fehler erkennen ?
Gruß
Klaus

Beaker s.a.

Hallo Denis,
ZitatDen zweiten Teil krieg ich überhaupt nicht zum laufen. Kommt immer der Debugger. Muss ich das Kombi vorher löschen und nur mit Textfeld arbeiten?

Normal nicht, die funktionieren ja völlig unabhängig voneinander.
Ansonsten folge Klaus' Rat und zeige den Code.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

Denis

Hallo Zusammen,
Screenshot meiner Tabelle mit Laufzeitfehler 3077 - fehlender Operator im Ausdruck. Weiß nur nicht was ihm fehlt...

DF6GL

Hallo,

du sollst nicht die Fehlermeldung screenshotten (was für ein Wort  ???  )  sondern den Code mit C&P posten.

Beaker s.a.

Hallo Denis,
ZitatWeiß nur nicht was ihm fehlt...

Aber ich  :)
Da ist leider ein Fehler im gezeigten Code  >:(, - da fehlen die ' vor
dem ersten * und nach dem zweiten *
Me.Recordset.FindFirst "FeldInDemDuSuchenWillst LIKE '*" & Me.NameDeinesTextfeldes & "*'"
"FeldInDemDuSuchenWillst" musst du natürlich durch den richtigen
Namen deines Textfeldes ersetzen.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

Denis

Hallo Beaker,

also mit der Korrektur bekomme ich keinen Debugger, aber es funktioniert immer noch nicht richtig. Mit jedem Eintrag ins Textfeld springt mir das ganze einfach nur in den nächsten Datensatz (wegen Enter). Liegt es evtl daran, dass ich es eben NICHT manuell eingeben darf, sondern so wie ich es auch später gerne  lösen möchte, nämlich mit einem DOMWERT autom. reinholen soll?

Meine Codes sehen jetzt so aus:

Private Sub Kombinationsfeld13_AfterUpdate()
     Me.Recordset.FindFirst "BaureiheID = " & Me.Kombinationsfeld13
End Sub

-> der funktioniert. Sobald der untere dazu kommt aber nicht mehr

Private Sub Text17_AfterUpdate()
    Me.Recordset.FindFirst "BaureiheID LIKE '*" & Me.Text17 & "*'"
End Sub

-> der funktioniert gar nicht.

Muss der Code für das Kombi drin bleiben oder muss ich den dann löschen? Ob mit oder ohne, beides geht momentan nicht.

DF6GL

Hallo,
Zitat
Me.Recordset.FindFirst "BaureiheID LIKE '*" & Me.Text17 & "*'"


da würde ich auch nicht mehr funktionieren...  8)

Lies mal den Code selber so , als wärst Du die CPU , und tue das, was da steht...



Als Auflösung:

Me.Recordset.FindFirst "Baureihe_Bezeichnung LIKE '*" & Me.Text17 & "*'"

falls es "Baureihe_Bezeichnung" als Feld mit Datentyp TEXT im Recordset (Datenherkunft) des Forms gibt.

(und ich habe jetzt nicht den gesamten Thread durchgelesen).

Denis

Vielen Dank DF6GL,

hatte ne geistige Auszeit, was auch dringend nötig war.

Deine Lösung war der Tipp der mein Problem abgeschlossen hat:

Zitat von: DF6GL am Mai 29, 2020, 17:09:05Als Auflösung:

Me.Recordset.FindFirst "Baureihe_Bezeichnung LIKE '*" & Me.Text17 & "*'"

Auch die restlichen Tipps von euch allen haben mich schließlich hierher geführt.

Endlich funktioniert meine Hauptformular exakt so wie ich es mir vorgestellt habe.

Herzlichen Dank an alle die mich mit viel Geduld unterstützt haben, insbesondere auch MzKlMu und Beaker.

Meine anderen Stolpersteine werde ich neu adressieren, damit hier nix vermischt wird.

Der Beitrag kann jetzt geschlossen werden! Danke nochmal!

Denis

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

P.S.: Hab jetzt die ganze Page abgesucht...aber den Knopf leider nicht gefunden