Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Problem mit abhängigen Listenfeld

Begonnen von Paule, März 15, 2016, 09:32:08

⏪ vorheriges - nächstes ⏩

Paule

Hallo,

ich habe seit Kurzem ein Problem mit abhängigen Listenfeldern.
Nach Vergleich mit identischen abhängigen Listenfeldern aus anderen Formularen bin ich schlicht ratlos, warum es von heute auf morgen nicht mehr funktioniert bei einem neuen Formular.

Folgedes Problem:

Ich habe eine Tabelle erstellt, wo alle geplanten Ausgaben gespeichert werden sollen.
Zur Füllung dieser Tabelle mit Datensätzen habe ich ein neues Formular angelegt.

In dieses Formular möchte ich auch eintragen, ob die Ausgabe das Headquarter oder die Filliale betrifft.

Bei anderen Formularen/Tabellen war diese Angabe ebenso wichtig, sodass ich das dort schon ein paar Mal gemacht habe, ohne irgendwelche Probleme.
Um mir die entsprechende Auswahl in den Listenfeldern geben zu lassen, habe ich zwei Hilfstabellen erstellt:
BK_Options_Tag1 und BK_Options_Tag2.

In BK_Options_Tag1 ist als Feld TagType1 gegeben. Als Datensätze sind Branch und Headquarter gespeichert.
In BK_Options_Tag2 habe ich zwei Felder: TagType2 und TagType1.
Zu jeder Filliale (Name der Stadt = TagType2) ist dann der entsprechende TagType1 (Branch) angegeben. Und zu jeder Abteilung des Headquarters (TagType2) der entsprechende TagType1 (Headquarter).

Das Feld TagType1 aus der BK_Options_Tag2 ist in n:1-Beziehung mit dem Feld TagType1 aus BK_Options_Tag1 verbunden.

Nun gehe ich in mein Listenfeld, welches mir den TagType1 anzeigen lassen soll (Name=listTagType1). Dort gebe ich unter Datensatzherkunft ein:

SELECT [BK_Options_Tag1].[TagType1] FROM [BK_Options_Tag1];

Er zeigt mir dann auch entsprechend "Branch" und "Headquarter" als Auswahl im Listenfeld an.

Nun möchte ich im zweiten Listenfeld mit je nach Angabe im ersten Listenfeld listTagType1 entweder alle Fillialen (listTagType1=Branch) oder eben alle Abteilungen (listTagType1= Headquarter) anzeigen lassen.

Dafür gebe ich jetzt bei der Datensatzherkunft an:
SELECT [BK_Options_Tag2].[TagType2] FROM BK_Options_Tag2 WHERE [BK_Options_Tag2].[TagType1]=[listTagType1];

Darüber hinaus weise ich dem Listenfeld listTagType1 folgende Ereignisprozedur nach Aktualisierung über VBA zu:
listeTagType2.Requery

Dieser Code steht eins zu eins auch so in einem anderen Formular. Dort funktioniert das Ganze wie gesagt reibungslos.

Versuche ich nun das Formular zu öffnen, werde ich immer wieder aufgefordert den Parameter listTagType1 anzugeben. Tue ich dies manuell, zeigt er mir im zweiten Listenfeld auch die entsprechenden Positionen an. Nur akzeptiert er anscheinend meine Angabe in listTagType1 nicht.

Ich habe alle Eigenschaften der Felder sowie des Formulars mit dem funktionierendem Formular verglichen und kann keine Unterschiede feststellen.

Könnt ihr mir sagen, wo das Problem liegt?

Viele Grüße,
Marcus

DF6GL

Hallo,

die parameter-Nachfrage deutet darauf hin, dass es das Feld "listTagType1" nicht gibt.

Kontrolliere den Namen des Listenfeld-Steuerelementes.


BTW: eine aussagekräftigere und sinnbezogene Benamsung wäre vorteilhaft....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Paule

Das war ebenso das, was ich dachte.
Und habe dementsprechend diese Option geprüft. Die Namen stimmen alle überein.
Ich habe es auch mit unterschiedlichen Namen probiert.
Es scheint, als würde er das, was in diesem Listenfeld gespeichert/angegeben wird, nicht speichern oder weiterverwenden können. Und ich weiß nicht, woran das liegen soll.

BTW: Was wäre denn eine sinnvollere Benennung in deinen Augen. Ich weiß damit zumindest sofort, was dann im jeweiligen Feld steht... Was wäre cleverer?

DF6GL

Hallo,

siehe:
http://www.donkarl.com/?FAQ1.5

die Feldnamen sollten etwas über den inhaltlichen Sinn und den Verwendungszweck aussagen.

ZitatDie Namen stimmen alle überein.

bezweifle ich nach wie vor...  Access jedenfalls erkennt den Listenfeldnamen nicht.


Es kann nicht sein, dass statt "l" (ell)  ein großes "i" getippt wurde?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Paule

ZitatEs kann nicht sein, dass statt "l" (ell)  ein großes "i" getippt wurde?

Nach nochmaliger Überprüfung bzw. Neueingabe: Nein, leider nicht.

DF6GL

Hallo.

dann lad mal die DB hier hoch,  vorher ggfls. datenreduziert, komprimiert/repariert und gezippt

Beschreib dann daran genau , bei welchem Vorgang mit welchen Abfragen und in welchem Form sich das Problem darstellt.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Paule

Nicht nötig.
Ich habe jetzt das Ganze nochmal neu gemacht und zwei neue Tabellen erstellt nach selben Prinzip.
Jetzt funktioniert es.

Als Info zwischendrin: Beim Neuanlegen hat die Auswahl über die Listenfelder super funktioniert. Wieder nur bis zu dem Moment, wo ich ein Button zum Hinzufügen des Datensatzes eingefügt habe. Danach wollte er wieder die Parameter wissen. Das war vorher auch schon so.
Danach habe ich das wieder rückgängig gemacht, bin in den Entwurfsmodus und habe dort den Button hinzugefügt. Das hat dann wieder geklappt.

Komische Sache.