Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage Kriterium über Wert einer anderen Tabelle bestimmen.

Begonnen von Benny80, April 22, 2019, 12:55:29

⏪ vorheriges - nächstes ⏩

Benny80

Hallo,

Ich habe wohl mal wieder einen Denkfehler und würde gerne wissen wo er liegt.

Also ich besitze ein Formular mit einer Abfrage und mehrere Tabellen.

Nun füge ich den Wert einer verlinkten Tabelle über ein PullDown Menü ein. Nun möchte ich aber dieses PullDown Menü über den Wert einer anderen Tabelle beeinflussen.

Dazu habe ich in beiden Tabellen in der jeweiligen Spalte mit der Eigenschaft Zahl einen gleichen Wert.

Somit wenn ich die auswahl der Tabelle 1 ist, darf mir das Pulldown Menü nur seine werte mit dem internen Spaltenwert 1 beträgt.

Dies wollte ich dadurch gewährleisten, in dem ich bei dem Kriterium des Wertes der PullDown Tabelle die spalte der tabelle eingetrage habe, die den wert vorgeben soll.

Nun bekomme ich zwar keine fehlermeldung. Dennoch zeigt mir das pulldown menü immer noch alle werte der tabelle an...

Wo liegt also mein denkfehler.

PhilS

Die Problembeschreibung ist sehr abstrakt. Somit ist es nicht einfach, den konkreten Punkt zu identifizieren, an dem dein Denkfehler liegt.

Ich vermute, dass dein DropDown im Formular Werte Abhängig vom jeweils aktuellen Datensatz im Formular anzeigen soll.
Dann liegt der Denkfehler darin, dass du dich in der Abfrage für das DropDown nicht auf das Formular beziehst, sondern auf die Tabelle. - Eine Tabelle enthält aber alle Werte, somit werden auch die Daten in deinem DropDown nicht eingeschränkt.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Hallo Benny,
Bin nicht sicher, aber damit sollte es gehen

Me.DeinKombi.RowSource = _
    "SELECT VT.WertFeldEinerVerlinktenTabelle, weitereFelder " _
  & "FROM VerlinkteTabelle As VT " _
      & "INNER JOIN Tabelle1 As T1 " _
      & "ON VT.WertFeldEinerVerlinktenTabelle = T1.VergleichsFeld"


gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Benny80

Hi, wo soll ich den code den eintragen?

Hab den nun "Beim klicken" eingesetzt.

Es kommt keine Fehlermeldung.
Aber die Funktion ist dabei nicht gegeben.

Beaker s.a.

Hallo Benny,
Es ist halt schwierig Lösungen anzubieten mit Informationen wie "Tabelle 1",
"eine verlinkte Tabelle" und "eine andere Tabelle", und man die DB auch
nicht kennt.
Wenn ich nochmal so drüber nachdenke, sollte mein SQL-String auch in
diesem Zusammenhang nicht der richtige zu sein. Normal bezieht man
sich bei abhängigen Kombifeldern einfach auf das Auswahlfeld.
Private Sub AuswahlFeld_AfterUpdate()
    Me.DeinKombi.RowSource = _
    "SELECT ID, weitereFelder " _
  & "FROM Tabelle " _
  & "WHERE ID = " & Me.AuswahlFeld
End Sub

Du müsstest die Zusammenhänge näher erklären; entweder an Hand des
Beziehungsfensters oder hochladen der DB.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Benny80

Bin aktuell beim Osteressen. Versuch falls ich weitere probleme habe mal direkte am pc und nicht über handy alles zu beschreiben. Danke dir/euch für die hilfe jetzt schon.

Benny80

Ok aktuelle Voraussetzungen:

Haupttabelle tblAnwendung
Spalten in dieser Tabelle: ID, fkVorname, fkNachname, fkStaße, fkStraßennummer, fkPLZ, fkOrt, fkPrio, fkMaterial etc.

Nebentabellen (mit den Spalten (Eigenschaft)): tblVorname (idVorname (AutoWert) & Vorname (Text)), tblNachname (idNachname (AutoWert) & Nachname (Text)), tblStraße (idStraße (AutoWert) & Straße (Text)), tblStraßenummer (idStraßennummer (AutoWert) & Straßennummer (Text), tblPLZ (idPLZ (AutoWert) & PLZ (Zahl)), tblOrt (idOrt (AutoWert) & Ort (Text)), tblPrio (idPrio (AutoWert) & Prio (Text)), tblMaterial (idMaterial (AutoWert), MaterialPrioFilter (Zahl) und Material (Text)) etc.

Verbindungen in der Abfrage (qryAbfrage):
fkVorname mit idVorname
fkNachname mit idNachname
fkStraße mit idStraße
fkStraßennummer mit idStraßennummer
fkPLZ mit idPLZ
fkOrt mit idOrt
fkPrio mit idPrio
fkMaterial mit idMaterial

Alles wird über das Formular (frmAnwendung) dargestellt.

Jedes Wert kann manuell eingeben werden und dann über ein PullDown Menue ebenfalls eingetragen werden.

Nun setze ich den Wert (idPrio) über ein Pulldown Menue (PullDownPrio).

Möchte jedoch das nun der Wert (idPrio), der sich ja in der Spalte (fkPrio) steht, über die Spalte (fkPrio) als Kriterium für das PullDown-Menue Material (PullDownMaterial), für die Zeile "MaterialPrioFilter" verwendet wird.

Also setze ich die Priorität auf 1 möchte ich nur Material angezeigt bekommen, die im MaterialPrioFilter den Wert 1 besitzen.

MzKlMu

Hallo,
der Tabellenaufbau ist übertrieben normalisiert und praxisfremd.
Vorname, Nachname, Ort und Anschrift gehören in eine Tabelle. Der Ort aber nur als Fremdschlüssel. Die Tabelle benötigt einen Primärschlüssel (PersonenID als Autowert).
Ort und PLZ sind auch in einer Tabelle zu führen ebenfalls mit einem Autowert als PS.

In der Tabelle Anwendung gibt es dann nur einen FK zur Person, einen FK zur Prio und einen FK zum Material.

Die Datenherkunft des Kombis für die Auswahl des Materials ist dann mit der Prio zu filtern.
Das nennt sich "Abhängige Kombifelder"
FAQ 4.36 Abhängige Kombi/Listenfelder
Gruß Klaus

Benny80

Dazu kommt noch, dass es mir wichtig ist, dass das PullDownMenue (PullDownMaterial) nach der idMaterial (aufsteigend) sortiert bleiben soll.

Benny80

Das mag sein. Habe es jedoch absichtlich so verkompliziert um jeder zeit auf jede tabelle zugreifen zu können. Klar plz und ort kann man zusammen legen etc. Aber ich habe mich aktuell entschieden es für meine reine übungsdatenbank so zu machen. Meine datenbank (auf der arbeit) kann ich alleine schon nicht verwenden da wir aktuell ein verbot erhalten haben. Externe (ungesicherte) datenträger anschliesen zu dürfen. Deshalb muss ich das nun so machen. Das ich die Infos die ich mir dann im privaten erarbeite auf die andere (sobald) ich das kann (so wie heute) übertrage.

MzKlMu

Hallo,
dann passt ja der obige Link zu FAQ 4.36.

Den hast Du in früheren Beiträgen schon mal bekommen.
Gruß Klaus

Benny80

Ah stimmt, sorry, damals wollte ich ja was anderes und konnte mit dem direkten inhalt nichts anfangen, nun möchte ich ja genau das machen :)

Benny80

Nun habe ich das alles so gemacht wie es da steht, der Code scheint auch richtig zu sein aber die liste ist leer...

Also das zweite PullDownMenü (Kombifeld). In dem genannten Beispiel cbo_Artikel.

DF6GL

Hallo,

wie wäre es, wenn Du , um diese Nebelstocherei im Dunkeln zu beenden, die DB mal hier hochlädst (repariert/komprimiert, debuggt und kompiliert, datenreduziert und gezippt)    ?
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

Benny80

Ohne nun Angst haben zu müssen, irgendwelche Firmengeheimnisse etc. offen  zu legen, hier die Datenbank mit dem Problem das ich habe.

Sobald ich die Gruppe auswähle ist das PullDownArtikel leer.

https://www.dropbox.com/s/a1r8b9fovfi9oi5/Datenbank%20Artikel.accdb?dl=0