Supportnet / Forum / Datenbanken
Ändern der Recordsource
Frage
Hallo Helfer,
ich muss je nach Eingabe des Users die Recordsource eines Unterformulars festlegen können. Beim Öffnen des Unterformulars wird folgendes ausgeführt:
If [Forms]![frm_master]![txt_dat_valuta] = "" And [Forms]![frm_master]![txt_dat_buchung] = "" Then
Me.RecordSource = "qry_SucheBeleg"
...
Leider passiert da gar nix!! Die Recordsource wird nicht geändert. Was um alles in der Welt mache ich falsch?
Danke schon mal.
Gruss Rahel
Antwort 1 von oliverV
Hallo Rahel,
Das Öffnen-Ereignis des UFOs dürfte falsch sein, denn das UFO wird ja mit dem HF zusammen geöffnet.
Erst nachdem das HF geöffnet ist können sich die beiden Feldinhalte durch eine Eingabe des Users ändern (UFO ist dann aber bereits geladen).
Das passende Ereignis dürfte NachAktualisierung von [txt_dat_valuta] und [txt_dat_buchung] sein.
Du musst dann natürlich nicht nur den Then-RecordSource definieren, sondern auch den Else-RecordSource; abschließend noch ein Requery hinterherschieben, sodass das geöffnete UFO aktualisiert wird.
Versuchs mal sinngemäß mit folgenden Code:
[Code]
If IsNull(Me![txt_dat_valuta]) And If IsNull(Me![txt_dat_buchung]) Then
Me![Ufo_Steuerelementname].RecordSource = "qry_SucheBeleg"
Else
Me![Ufo_Steuerelementname].RecordSource = "qry_bla bla"
End If
Me![Ufo_Steuerelementname].Requery
[/Code]
Gruß
Oliver
Das Öffnen-Ereignis des UFOs dürfte falsch sein, denn das UFO wird ja mit dem HF zusammen geöffnet.
Erst nachdem das HF geöffnet ist können sich die beiden Feldinhalte durch eine Eingabe des Users ändern (UFO ist dann aber bereits geladen).
Das passende Ereignis dürfte NachAktualisierung von [txt_dat_valuta] und [txt_dat_buchung] sein.
Du musst dann natürlich nicht nur den Then-RecordSource definieren, sondern auch den Else-RecordSource; abschließend noch ein Requery hinterherschieben, sodass das geöffnete UFO aktualisiert wird.
Versuchs mal sinngemäß mit folgenden Code:
[Code]
If IsNull(Me![txt_dat_valuta]) And If IsNull(Me![txt_dat_buchung]) Then
Me![Ufo_Steuerelementname].RecordSource = "qry_SucheBeleg"
Else
Me![Ufo_Steuerelementname].RecordSource = "qry_bla bla"
End If
Me![Ufo_Steuerelementname].Requery
[/Code]
Gruß
Oliver
Antwort 2 von oliverV
Habe gerade noch ein IF zuviel entdeckt, also:
[Code]
If IsNull(Me![txt_dat_valuta]) And IsNull(Me![txt_dat_buchung]) Then
Me![Ufo_Steuerelementname].RecordSource = "qry_SucheBeleg"
Else
Me![Ufo_Steuerelementname].RecordSource = "qry_bla bla"
End If
Me![Ufo_Steuerelementname].Requery
[/Code]
Gruß
Oliver
[Code]
If IsNull(Me![txt_dat_valuta]) And IsNull(Me![txt_dat_buchung]) Then
Me![Ufo_Steuerelementname].RecordSource = "qry_SucheBeleg"
Else
Me![Ufo_Steuerelementname].RecordSource = "qry_bla bla"
End If
Me![Ufo_Steuerelementname].Requery
[/Code]
Gruß
Oliver

