Filter setzen mit Wert aus anderem Formular

Hallo

ich habe folgenden Code.

Private Sub Form_Load()
Dim frm As Integer
frm = „Forms!frmUC1ProduktNeu.Form.txtIDProdukt“
Me.Filter = „FKProdukt=frm“
Me.FilterOn = True
End Sub

dieser soll mir das Unterformular Filtern mit dem Wert aus einem ganz anderen Formular (nicht Hfo).
Wenn ich das Unterformular neu Lade (also bei einem Button klick im HFO wird das Ufo neu geladen) erscheint ein Eingabefeld „frm“ dort sollte der Wert aus txtIDProdukt aber automatisch rein.
Fülle ich das Feld aus gehts so wie ich mir das vorstelle.

Hoffe mir kann jemand helfen

Gruß Franz

Hallo Franz,
hast du mal nachgesehen, was im Integer von frm steht?
Bei: frm = „Forms!frmUC1ProduktNeu.Form.txtIDProdukt“ fehtl meiner Meinung noch was wie:
frm = "Forms!frmUC1ProduktNeu.Form.txtIDProdukt.value
mal probieren.
Außerdem:
Ist das Form: frmUC1ProduktNeu noch am Leben?
Am besten du übergibst den Inhalt von txtIDProdukt an die neue Form.
Es scheint mir auch, dass txtIDPordukt ein Textfeld ist - ich programmiere jetzt schon seit Jahren mit CSharp, bin mir also nicht ganz sicher.
Aber ich glaube, diu solltes die Punkt weiter oben mal abarbeiten - und schick mir doch ein Ergebnis :smile:
lG
Manfred

Mal so ungeprüft…
Müsste das nicht mit
Forms!frmUC1ProduktNeu.Form.txtIDProdukt = me.frm
definiert werden?

Private Sub Form_Load()
Forms!frmUC1ProduktNeu.Form.txtIDProdukt = me.frm
Me.Filter = me.frm
Me.FilterOn = True
End Sub

Mal so ungeprüft…
Müsste das nicht mit
Forms!frmUC1ProduktNeu.Form.txtIDProdukt = me.frm
definiert werden?

frm soll eine Variable sein, die den aktuellen Wert des Textfeldes txtIDProdukt aus dem Formular frmUC1ProduktNeu zugewiesen bekommt

Private Sub Form_Load()
Forms!frmUC1ProduktNeu.Form.txtIDProdukt = me.frm
Me.Filter = me.frm
Me.FilterOn = True
End Sub

Hallo

Dim frm As Integer
frm = „Forms!frmUC1ProduktNeu.Form.txtIDProdukt“

frm wurde als Integer deklariert, erhält aber einen
String (alles was zwischen " " steht ist ein String!)

Wenn der Integerwert im Feld txtIDProdukt im Unterformular
in die Variable frm gelesen werden soll, kann man das folgendermaßen machen:

frm = Forms!HFo!UFo.Form.txtIDProdukt.Value
(HFO = Name des Hauprformulars)
(UFo = Name des Unterformulars)

Als Filter wird auch nach dem String gefiltert, der
im vorliegenden Fall „FKProdukt=frm“ heißt also
alles zwischen den " ". Es soll also nach
FKProdukt=frm gefiltert werden was so zu nichts führen kann.

Gruß Wolfgang

Hallo Wolfgang

Vielen Dank. Hat so funktioniert

Gruß Franz

Hallo Franz,
hast du mal nachgesehen, was im Integer von frm steht?
Bei: frm = „Forms!frmUC1ProduktNeu.Form.txtIDProdukt“ fehtl
meiner Meinung noch was wie:
frm = "Forms!frmUC1ProduktNeu.Form.txtIDProdukt.value
mal probieren.
Außerdem:
Ist das Form: frmUC1ProduktNeu noch am Leben?
Am besten du übergibst den Inhalt von txtIDProdukt an die neue
Form.
Es scheint mir auch, dass txtIDPordukt ein Textfeld ist - ich
programmiere jetzt schon seit Jahren mit CSharp, bin mir also
nicht ganz sicher.
Aber ich glaube, diu solltes die Punkt weiter oben mal
abarbeiten - und schick mir doch ein Ergebnis :smile:

ERGEBNIS
Dim frm As Variant
frm=Forms!frmUC1ProduktNeu.Form.txtIDProdukt.Value
Me.Filter = „FKProdukt=“ & frm
Me.FilterOn = True

Problem waren jeweils die Anführungszeichen.

lG
Manfred

…Hi,
prima, danke für für deine Nachricht.
Grüße
Manfred

Hallo Franz,

vielen Dank für Ihr Vertrauen. IN VBA bin noch am Anfag meiner Excel-Laufbahn. Da kann ich leider keine dienlichen Hinweise geben.

Herzliche Grüße
Hugo

Hallo Franz.

Das Eingabefeld frm weist darauf hin, dass Deine
variable frm as integer kein Ergebnis liefert.
dazu ist folgendes zu beachten:
das Formular Forms!frmUC1ProduktNeu muss auch geöffnet
sein !!!
So wie ich das erkenne willst Du die ID als Zahl aus aktuellen Datensatzes im Formular Forms!frmUC1ProduktNeu auslesen und den Wert dem Filter zu-
weisen.
was ist das für eine Feldbezeichnung:.Form.txtIDProdukt
ich denke hier ist das Form zuviel.
es müsste eigentlich heissen: Forms!frmname.feldname
vielleicht kannst Du mir ja mal ein Bild von diesem
Formular schichen.(Bildschirm kopieren in Word oder so?)

ich habe folgenden Code.

Private Sub Form_Load()
Dim frm As Integer
frm = „Forms!frmUC1ProduktNeu.Form.txtIDProdukt“
Me.Filter = „FKProdukt=frm“
Me.FilterOn = True
End Sub

dieser soll mir das Unterformular Filtern mit dem Wert aus
einem ganz anderen Formular (nicht Hfo).
Wenn ich das Unterformular neu Lade (also bei einem Button
klick im HFO wird das Ufo neu geladen) erscheint ein
Eingabefeld „frm“ dort sollte der Wert aus txtIDProdukt aber
automatisch rein.
Fülle ich das Feld aus gehts so wie ich mir das vorstelle.

Hoffe mir kann jemand helfen

Gruß Franz

Hallo Franz,

in der Zeile
Me.Filter = „FKProdukt=frm“

darf frm nicht im Text sein, sondern muss als Variable angehängt werden und als Textvariable in Hochkomma.

Me.Filter = „FKProdukt=’“ & frm & „’“

Gruß
JOGI