Servus! Folgendes kann ich nicht lösen:
User tippt im Formularkopf einer Eingabemaske die Type in Textfeld txtTypeEingabe. Daraufhin erscheinen im Feld lstMaschineAuswahl verfügbare Maschinen zur Auswahl. Maschine wird ausgewählt und per Button cmdFormularOeffnen wird das entsprechende Formular geöffnet. Das Formular hat viele Typen als Datenquelle. Bei Öffnen wird daher zusätzlich im WHERE Argument die Type aus dem Textfeld txtTypeEingabe rausgefiltert.
Private Sub cmdFormularOeffnen_Click()
'DoCmd.OpenForm "frm_" & Me.lstMaschineAuswahl.Value, , , "Type = Forms.frm_Eingabemaske.txtTypeEingabe.value"
Soweit alles gut.
Nun möchte ich, dass das Formular nicht als PopUp aufgeht, sondern im Detailbereich der Eingabemaske als UF angezeigt wird.
Ich weiß nicht wie ich die WHERE Klausel an das UF übergeben kann.
Private Sub cmdFormularOeffnen_Click()
'hier wird das Formular auf Basis der Maschinenauswahl ausgewählt
Me.frm_Eingabemaske_UF.SourceObject = "frm_" & Me.lstMaschineAuswahl.Value
'hier soll das ausgewählte Formular nach txtTypeEingabe.value gefiltert werden
Me.Form.FilterOn = True
Me.frm_Eingabemaske_UF.Form.Filter = "Type = Forms.frm_Eingabemaske.txtTypeEingabe.value"
Funktioniert so aber leider nicht. Wo ist der Fehler bzw. wie kann ich das UF basierend auf der Eingabe der Type filtern?
Hallo,
etwa so:
Private Sub cmdFormularOeffnen_Click()
'hier wird das Formular auf Basis der Maschinenauswahl ausgewählt
Me!frm_Eingabemaske_UF.SourceObject = "frm_" & Me!lstMaschineAuswahl
Me!frm_Eingabemaske_UF.Form.Filter = "Type ='" & Me!txtTypeEingabe &"'"
Me!frm_Eingabemaske_UF.Form.FilterOn = true
.
.
.
Super, danke!
Ich musste allerdings noch das hier anfügen, sonst ging es nicht.
Me.FilterOn = true
Hi,
was hat denn das Filtern des Unterformulars mit dem Filter des Hauptformulars zu tun?