Hallo liebe Communitiy!
Wenn Access plötzlich einen auffordert, dass man ein Parameter eingeben soll, dann macht Access das nicht ohne Grund. Die Meldung kann man auch nicht abstellen und man muss die Ursache rausfinden.
Leider bin ich super verwirrt, was in meinem Fall der Grund seien soll und ich hoffe, dass mir hier jemand weiter helfen kann :'(
Ich hab ein Hauptformular mit der SchlüsselID autoID
Im Hauptformular hab ich ein Register mit 4 Seiten. Wenn man auf dem Register die Seite wechselt, dann wird das entsprechende Formular als Unterformular geladen. Das geschieht durch das Change-Ereignis.
( ich muss die einzeln reinladen, weil Access Probleme macht sobald die Datenbank geteilt ist. Dieser Weg war ein Tipp gewesen und hatte so auch funktioniert bisher :-[ )
Wenn ich das Hauptformular öffne, dann ist zunächst ein Unterformular im Register geladen mit dem Fremdschlüssel "autoID-Ref".
Im Change-Ereignis hab ich das Unterformular mit dem Hauptformular verbunden, sodass dann auch nur die entsprechenden richtigen Datensätze angezeigt werden.
Möchte ich jetzt die Registerseite wechseln, dann wird über das Change-Ereignis ein anderes Formular als Unterformular reingeladen mit dem Fremdschlüssel "autoIDRef".
Bevor dann aber der Code fürs Binden ausgeführt wird. Also direkt,wenn das Change-Ereignis in Aktion tritt, fragt mich Access den Parameter für "autoID-Ref" ab :o :o :o
Schließe ich die Parameterabfrage ohne Werteeingaben werden aber die richtigen Daten angezeigt.
Wechsel ich die Seite zurück wird dann tatsächlich "autoIDRef" abgefragt. Wenn ich das wegklicke, wird aber alles normal geladen.
Die Parameterabfrage bezieht sich anscheinend an die Fremdschlüssel, die gar nicht mehr als SourceObjects gegeben sind. :( :o :o
Ich weiss im Moment wirklich nicht mehr weiter, was das Problem seien könnte, warum die vorangegangenen Fremdschlüssel abgefragt werden, wenn die Registerseite gewechselt werden :-\
Hilfe :-[
Hallo Mia,
Kann es sein, dass du "SourceObject" (eingebundenes Form) und "RecordSource"
(DS-Herkunft eben diese Ufos) verwechselst?
Ansonsten, - hast du auf jedem Register ein eigenes UFo-Steuerelement, oder
nur ein im Vordergrund, bei dem eben das "SourceObject" gewechselt wird?
Die Parameternachfrage wird i.Ü. von SQL ausgelöst. Da würde ich auch nochmal
die DS-Herkunft des Forms überprüfen. Evtl. liegt es auch an Sonderzeichen in
Feldnamen
ZitatautoID-Ref
da müssen eckige Klammern drum
Zitat[autoID-Ref]
gruss ekkehard
Access trägt manchmal(?) automatisch Werte in die LinkMasterFields/LinkChildFields Eigenschaften ein. - Es sollte helfen, wenn du dem zurvorkommst und dort die richtigen Werte einträgst.
Hallo,
warum beschäftigst Du jetzt auch noch ein anderes Forum?
Das ist nicht gern gesehen, steht auch in den Forumsregeln.
https://www.ms-office-forum.net/forum/showthread.php?t=387202
Zitat von: Beaker s.a. am Oktober 12, 2023, 15:16:14Hallo Mia,
Kann es sein, dass du "SourceObject" (eingebundenes Form) und "RecordSource"
(DS-Herkunft eben diese Ufos) verwechselst?
Ansonsten, - hast du auf jedem Register ein eigenes UFo-Steuerelement, oder
nur ein im Vordergrund, bei dem eben das "SourceObject" gewechselt wird?
Die Parameternachfrage wird i.Ü. von SQL ausgelöst. Da würde ich auch nochmal
die DS-Herkunft des Forms überprüfen. Evtl. liegt es auch an Sonderzeichen in
Feldnamen
ZitatautoID-Ref
da müssen eckige Klammern drum
Zitat[autoID-Ref]
gruss ekkehard
Ich hab ein einzelnes Ufo-Steuerelement im Vordergrund, in dem das SouceObject dann entsprechend gewechselt wird.
Ich hab auch versucht über SQL RecordSource zu setzen. Allerdings kommt die angesprochene Parameterabfrage tatsächlich bevor oder während RecordSource oder SourceObject gesetzt wird.
Zitat von: PhilS am Oktober 12, 2023, 15:41:32Access trägt manchmal(?) automatisch Werte in die LinkMasterFields/LinkChildFields Eigenschaften ein. - Es sollte helfen, wenn du dem zurvorkommst und dort die richtigen Werte einträgst.
Genau das Gleiche. Die Parameterabfrage kommt noch bevor die Zeilen Code ausgeführt werden.
Mir ist aufgefallen:
Wenn ich die Seite im Register wechsel und im Change-Ereignis das UfoSteuerelement die neue Ressource setzen möchte, dass nach der Parameterabfrage das Currentereignisses der alten Ressource ausgelöst werden.
Also anscheinend wird beim Seitenwechsel der Code im entsprechenden Chance-Ereignis ausgeführt, aber bei Ressourcen setzen wird trotzdem noch Ereignisse vom vorherigen Formular ausgelöst und natürlich braucht Access da einen Referenzwert.
Und deswegen funktioniert trotzdem alles wie es programmiert wurde, wenn ich die Parameterabfrage wegklicke.
Jetzt stellt sich mir die Frage, wie ich das umgehen kann/ beheben kann. Oder ob ich tatsächlich das Design ändern muss, um das zu umgehen...
Hätte da jemand Ideen oder Denkanstöße?
(Ich bin Werkstudentin in einer kleinen Firma und hab keine Ansprechpartner bei so spezifischen Sachen. Ohne das Forum wäre ich oft trotz Lektüren und Videokursen aufgeschmissen gewesen.)
Zitat von: MzKlMu am Oktober 12, 2023, 16:05:09Hallo,
warum beschäftigst Du jetzt auch noch ein anderes Forum?
Das ist nicht gern gesehen, steht auch in den Forumsregeln.
https://www.ms-office-forum.net/forum/showthread.php?t=387202
Das war tatsächlich ein Missgeschick. Ich hab das Forum verwechselt und dachte, mein Beiträg wäre weg gewesen und hatte es nochmal neu verfasst mit der Bitte sich von den Admins zu melden. Dabei war es in diesem Forum. Danke für den Hinweis :) War schon verwirrt gewesen, wohin mein Beitrag verschwunden war)
Vielleicht zeigst du mal den Code zum Change-Ereignis.
Zitat von: MiaM am Oktober 16, 2023, 11:10:07Ich hab ein einzelnes Ufo-Steuerelement im Vordergrund, in dem das SouceObject dann entsprechend gewechselt wird.
Ich hab auch versucht über SQL RecordSource zu setzen. Allerdings kommt die angesprochene Parameterabfrage tatsächlich bevor oder während RecordSource oder SourceObject gesetzt wird.
[...]
Genau das Gleiche. Die Parameterabfrage kommt noch bevor die Zeilen Code ausgeführt werden.
Diese Aussagen ergeben so für mich keinen Sinn.
Meine Empfehlung war doch, dass du dich um die LinkMasterFields/LinkChildFields kümmerst, bevor die Parameterabfrage ausgelöst wird. D.h. z.B. bevor du das SourceObject änderst.
Wenn die Parameterabfrage schon kommt, bevor irgendwelcher Code ausgeführt wird, dann hast du schon im Formularentwurf Einstellungen drin, die so nicht passen.
Hallo Philip,
ZitatDiese Aussagen ergeben so für mich keinen Sinn.
Bezieht sich wohl auf meine Frage in #1 bezügl. Anzahl/Anodnung der/des
UFo.
Zitatdass du dich um die LinkMasterFields/LinkChildFields kümmerst, bevor die Parameterabfrage ausgelöst wird. D.h. z.B. bevor du das SourceObject änderst.
Frage; - ist denn zu diesem Zeitpunkt das ChieldField schon bekannt?
gruss ekkehard
Zitat von: Beaker s.a. am Oktober 17, 2023, 18:03:01Frage; - ist denn zu diesem Zeitpunkt das ChieldField schon bekannt?
Da es darum geht, dass der Entwickler dies festlegt, sollte das (dem Entwickler) schon bekannt sein.
Dem Entwickler schon, aber was ist mit dem UFo-Control?
Ich werde mal versuchen mir die Frage in den nächsten Tagen
selber zu beantworten.
Vielleicht meldet sich ja auch der TS noch mal, ob es, wie von
dir vorgeschlagen, geklappt hat.
Zitat von: Beaker s.a. am Oktober 18, 2023, 14:04:28Dem Entwickler schon, aber was ist mit dem UFo-Control?
Wegen dem Ufo-Control empfehle ich doch die ganze Aktion.
Wenn man das SourceObject des Ufo-Controls austauscht, muss man u.U. auch die LinkMasterFields/LinkChildFields anpassen. Wenn dort noch die Werte für das alte SourceObject drinstehen, aber bereits das neue SourceObject gesetzt ist, dann kommt es zu der Parameterabfrage, um die sich dieser Thread dreht.
Hallo Philip,
Danke, Knoten ist gelöst.
gruss ekkehard