Erst mal hallo zusammen,
bin nicht ganz Frischling in Datenbanken, aber kein Programmierer. (Access 2007)
bin dabei, meine alte Datenbank zu modernisieren und alte Mängel auszumerzen.
Das erste Problem, das dabei auftaucht, ist der Wunsch, Auswahltabellen anhand des vorigen Feldes auszuwählen.
Beispiel: Feld1 Maschinenhersteller, Feld2 Maschinentyp,
nach Eingabe des Maschinenherstellers (Nachschlagespalte) sollen im Feld Maschinentyp lediglich alle Typen des jeweiligen Herstellers erscheinen (ebenfalls Nachschlagespalte)
wäre dankbar, wenn jemand einen Ansatz hätte, den auch ich verstehe. Bin wirklich kein Programmierer aber sehr motiviert :)
Hallo,
lege keine Nachschlagespalten in Tabellen an, die sind von Übel. Die Abhängigkeit kriegst Du in der Tabelle eh nicht hin.
Das ist eine Aufgabe für Formulare.
Suche mal nach abhängigen Kombifeldern. Die haben aber ihre Tücken, nur mal zur Vorwarnung.
Hallo,
bin ein relativer Neuling, aber funzt es nicht, wenn du einfach auf die Feldeigenschaft
dirty() eine Abfrage legst?
privat... dirty()
selekt table.Ergebnistabelle where Ergebnistabelle.Feldmitsuchwert=table.Auswahltabelle.Feldmitsuchinhalt
Zugegeben, der Code muss definitiv in die richtige Form gebracht werden, aber so sollte es doch klappen, oder?
Hallo,
die Aussage / Warnung von MzKlMu in Bezug auf Nachschlagespalten in Tabellen kann ich nur DEUTLICH unterstreichen.
Für die ordentliche Funktion der Abhängikeiten ist natürlich ein funktionierendes (sprich normalisiertes) Tabellenkonstrukt vorausgesetzt.
Die an den abhängigen Kombifeldern beteiligten Tabellen müssen/sollten dabei in (1:n) Beziehung stehen.
Siehe als Hintrgrundinformation und Lösungsansatz auch:
http://www.donkarl.com?FAQ4.36 (http://www.donkarl.com?FAQ4.36)
@wetlook
Zitatwenn du einfach auf die Feldeigenschaft dirty() eine Abfrage legst?
Das richtige Ereignis dafür ist 'Nach Aktualisierung' des ersten Kombifeldes.
Das Kombifeld wird so ausgeführt, dass die gebundene Spalte durch den Primärschlüssel der Herkunftstabelle gebildet wird.
Der ausgewählte Wert wird 'Nach Aktualisierung' ausgelesen und in den SQL-String zur Befüllung des abhängigen Kombis als Kriterium (Fremdschlüssel) eingelesen.
Erst danach wird das abhängige Kombifeld mit den aktuell benötigten Daten befüllt.
HTH
hab das Thema erst mal hinten angestellt.
Trotzdem vielen Dank an alle, die sich die Mühe gemacht haben, mir zu antworten