Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Parzelle387 am Juni 19, 2020, 18:37:18

Titel: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: Parzelle387 am Juni 19, 2020, 18:37:18
Hallo,
ich habe mal wieder ein Problem, beim Öffnen eines Formulars, bekomme ich den Laufzeitfehler 2455 mit der Beschreibung:
Sie haben einen Ausdruck eingegeben, der einen ungültigen Verweis auf die Form/Report Eigenschaft enthält.

Da beim öffnen dieses Formulars zwei Ufo's mit geöffnet werden, diwelche Daten in Abhängikeit des Formulars anzeigen, gehe ich davon aus, das die Reihenfolge des "Öffnen" des Formulars schuld ist. Wenn ich nämlich den VBA Code in das Ereignis Zeitgeber schreibe mit einem Zeitintervall, dann kommt die Fehlermeldung nicht.

Nun zu meiner Frage:Kann ich den VBA-Code "künstlich" anhalten, bzw. kann ich die Reihenfolge des "öffnen" der einzelnen Formulare beeinflussen ?
Wie gesagt, ich möchte gerne das Ereignis "beim Anzeigen" nutzen.
Ich hoffe ich habe mich verständlich genug ausgedrückt.
Vielen Dank
Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: crystal am Juni 21, 2020, 07:33:34
Hallo,
wie wäre es denn, den UFos die Recordsource erst dann zuzuweisen, wenn im Hauptformular irgendwas als Selektions-Kriterium eingegeben wurde und die UFos solange zu disablen? Oder wie lange möchtest du warten??? Könnte auch sein, dass du die Aktivier-Reihenfolge der Felder im HF anpassen musst.

Oder du müsstest dein Problem doch etwas genauer beschreiben...

Gruß,
crystal
Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: Beaker s.a. am Juni 22, 2020, 12:23:48
@Parzelle387
Unterformulare werden immer vor dem Hauptformular geöffnet.
Wenn du also ein UFo mit Feldern, die nicht in den LinkChild-
bzw. LinkMasterFields aufgeführt sind, aus dem HFo filtern
willst gibt es die von Crystal angesprochene Möglichkeit die
RecordSource der UFo erst beim Form_Load des HFo zu setzen,
oder besser sogar erst bei Form_Current, damit auch beim DS-
Wechsel im HFo
Zitatdie Daten in Abhängikeit des Formulars
angezeigt werden.
Oder du öffnest die UFo mit der ganzen DS-Gruppe ohne Bezug
zum HFo und setzt in den o.a. Ereignissen nur einen Filter.

gruss ekkehard
Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: Parzelle387 am Juni 23, 2020, 10:12:48
Hallo,

das das mit der Reihenfolge der "Öffnung" der Formulare zu tun hat, hab ich mir schon fast gedacht.

Ich muss also jetzt im Ereignis 'Form_Current' des HFO was eingeben, damit die Ufo's die DS aus dem HFO anzeigen können ?

Forms!UFO.RecordSource = ?

Ich stehe da echt auf dem Schlauch  :-\
Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: Beaker s.a. am Juni 23, 2020, 12:48:26
@Parzelle387
Me!NameUFoRahmen.Form.RecordSource = ?Me = Dein HFo
NameUFoRahmen = der Name des UFo-Steuerelements
Form = das tatsächliche Unterformular
RecordSource = DS-Herkunft
? = das was jetzt in dieser Eigenschaft drin steht, eingeschlossen in "",
also mit gespeicherter Abfrage
Me!NameUFoRahmen.Form.RecordSource = "DeineAbfrage"oder mit SQL-Anweisung
Me!NameUFoRahmen.Form.RecordSource = "SELECT ... "
gruss ekkehard
Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: DF6GL am Juni 23, 2020, 13:10:25
Hallo,

wenn das hier gilt:
ZitatDa beim öffnen dieses Formulars zwei Ufo's mit geöffnet werden, welche Daten in Abhängigkeit des (Haupt--) Formulars anzeigen

sind doch nur die Eigenschaften "Verknüpfen von/nach" der beiden Ufo-Steuerelemente passend zu setzen...

Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: Parzelle387 am Juni 23, 2020, 20:14:57
Also entweder hab ich heute zu viel Sonne auf den Kopf bekommen, oder ich bin einfach zu blöd, was ich favorisieren würde...
Ich hab noch ma genau geschaut und versuche die Ausgangssituation genauer zu schildern:
Ich habe ein HFO mit mehrern Ufo's
HFO
  UFO1  UFO2  UFO3  Ufo4
                      Ufo4.1
So etwa die Struktur.
Im Ufo4 sollen eine Befehlsschaltfläche, ein Kontrollkästchen und ein Bezeichnungsfeld nur angezeigt werden, wenn in Ufo1 in einem bestimmten Textfeld Daten enthalten sind
Im Ufo 4.1 ähnlich, hier sollen ein Kontrollkästchen und ein Bezeichnungsfeld angezeigt werden, wenn das selbe Textfeld aus Ufo1 beschrieben ist.

Muss ich jetzt in das Ereignis beim Anzeigen des jeweiligen UFO's die Record Source Geschichte reinschreiben ?




Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: DF6GL am Juni 23, 2020, 20:42:19
Hallo,

ZitatIm Ufo4 sollen eine Befehlsschaltfläche, ein Kontrollkästchen und ein Bezeichnungsfeld nur angezeigt werden, wenn in Ufo1 in einem bestimmten Textfeld Daten enthalten sind

das ist nun aber eine ganz andere Problemstellung..



Auch wenn ich den grundlegenden Sinn nicht begreife, etwa so:

Im UFO4 und für die Befehlsschaltfläche:

Sub Form_Current()
Me!SchaltflächeName.Visible = Not Isnull( Me.Parent!UFO1!BestimmtesTextfeldName)
End Sub


Ist UFO4.1 ein Unterformular in UFO4 ?

Dann eben so im UFO4.1:

Sub Form_Current()
Me!KontrollkästchenName.Visible = Not Isnull( Me.Parent.Parent!UFO1!BestimmtesTextfeldName)
End Sub


Das Ganze hat mit Recordsource gar nichts zu tun.
Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: Parzelle387 am Juni 24, 2020, 17:59:57
Vielen Dank !

Da kommt dann aber auch wieder die Fehlermeldung 2455 mit dem ungültigen Verweis etc.
Das ist doch dann wieder das Problem, das sich die Ufo's zuerst öffnen, oder ?

Titel: Re: Laufzeitfehler 2455 beim Öffnen des Formulars
Beitrag von: DF6GL am Juni 25, 2020, 08:18:55
Hallo,

es wäre sinnvoll, die verwendeten Steuerelemente namentlich konkret hier darzustellen....