Hallo Zusammen,
ich habe ein HF ,,frmSchulThema_Startseite" mit UF ,,UF_Schul_ThemaUnterlagen_letzteVersion" in dem verschiedene Unterlagen einem Thema zugeordnet sein können, siehe Bild-1.
Nun möchte ich mit dem Botton ,,Neue Version (Unterlagen)" ein neues Formular öffnen und je nach dem in welchem Textfeld im UF ,,UF_Schul_ThemaUnterlagen_letzteVersion" der Mauszeiger steht, soll dieser Wert/Text als Filter für das zu öffnende Formular ,,frmSchulungsunterlagenVersionierung_updaten" verwendet werden.
Mein aktueller Code des Bottons sieht wie folgt aus:
Private Sub btnfrmVersion_Click()
On Error GoTo Err_btnfrmVersion_Click
Dim stDocName As String
Dim stLinkCriteria As String
DoCmd.OpenForm "frmSchulungsunterlagenVersionierung_updaten", , , "Schulunterl_Bez = " & Me!SchulThema_Bez
DoCmd.Close acForm, "frmSchulThema_Startseite"
Exit_btnfrmVersion_Click:
Exit Sub
Err_btnfrmVersion_Click:
MsgBox Err.Description
Resume Exit_btnfrmVersion_Click
End Sub
Nun wird aber ein Parameterfester, siehe Bild-2 geöffnet, warum auch immer.
Wenn ich dort nichts eingebe, wird zwar das Formular "frmSchulungsunterlagenVersionierung_updaten" geöffnet, aber es wird kein Filter angewandt. Formular ist leer.
Wenn ich zum testen z.B. den Text ,,Wasserförderung" kopiere und in das Parameterfenster reinkopieren dann wir das neue Formular mit diesem Filter geöffnet.
Warum in dem Parameterfenster ,,löschen" steht, weis ich leider nicht.
Hätte jemand Hilfestellung, so daß es ohne dem Parameterfenster auf direktem Weg funktioniert.
Danke
mad
Hallo,
ich wuerde die fuer das Formular zugrunde liegende Abfrage in Betracht ziehen.
Es sieht mir aus als wenn hier der Parameter nicht korrekt uebergeben wird (aus dem HF zu dem UF).
Hallo,
der Button, den Du benutzt, befindet sich auf dem Hauptformular, richtig? Dann musst Du das Feld im Unterformular anders ansprechen:
& Me!UF_Schul_ThemaUnterlagen_letzteVersion.Form!SchulThema_BezWenn das Steuerelement, das das UFO enthält, einen anderen Namen hat, diesen statt UF_Schul_ThemaUnterlagen_letzteVersion verwenden.
Gruß Thomas
Hallo,
habe den Namen des UF mal etwas gekürz in "UF_letzteVersion", so ist es etwas besser lesbar.
Mein Code sind jetzt wie folgt aus:
...
DoCmd.OpenForm "frmSchulungsunterlagenVersionierung_updaten", , , "Schulunterl_Bez = " & Me!UF_letzteVersion.Form!Schulunterl_Bez
...
Allerdings hat es nicht den gewünschten Erfolg gebracht, siehe "Bild-3".
Ich habe mir mal erlaubt eine abgespeckte DB mit hochzuladen.
Was mache ich falsch?
Gruss
mad
Hallo,
ZitatWenn das Steuerelement, das das UFO enthält, einen anderen Namen hat
Das sollte m.E.
immer so sein.
Zitatden Namen des UF
Der Name des Formulars spielt hier keine Rolle, der ist so zu sagen in der
Eigenschaft .Form des Unterformularsteuerelements enthalten. Kannst du
testen mit
Debug.Print Me.UFoSteuerelement.Form.NameDu musst also in deinem Code den Namen des UFo-Steuerelementes verwenden, -
schaust du auch hier (http://www.donkarl.com?FAQ4.2).
gruss ekkehard
Hallo,
ich habe Deinen Code so geändert, dann läuft es bei mir:
Dim stLinkCriteria As String
Dim stFilter As String
stFilter = Forms!frmSchulThema_Startseite!UF_letzteVersion!Schulunterl_Bez
DoCmd.OpenForm "frmSchulungsunterlagenVersionierung_updaten", , , ""
Forms!frmSchulungsunterlagenVersionierung_updaten.Filter = "Schulunterl_Bez = '" & stFilter & "'"
Forms!frmSchulungsunterlagenVersionierung_updaten.FilterOn = True
DoCmd.Close acForm, "frmSchulThema_Startseite"Gruß Thomas
Allen herzlichen Dank.
Lösung von ShenTo19 funktioniert.
Die zweite Lösung von Beaker werde ich aber auch testen, zum lernen.
Gruss
mad