Neuigkeiten:

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

Mobiles Hauptmenü

Formular mit Kombifeldern aus 3 Tabellen

Begonnen von Nudelskopf, April 16, 2020, 15:04:05

⏪ vorheriges - nächstes ⏩

Nudelskopf

Hallo zusammen,

ich versuche ein Formular zu erstellen. Hierzu habe ich 3 Tabellen -> Gerätetyp (Server, PC, Notebook, ...); Hersteller (HP, Dell, ...); Modell (...)
Bis jetzt habe ich nur geschafft, dass man die Hersteller auswählen kann und dort werden alle Modelle aufgelistet.
Aber ich möchte dass man zuerst ein Gerätetyp auswählt, dann Hersteller und zuletzt Modell.
Bsp.: 1. Typ: Notebook
         2. Hersteller: HP
         3. Modell: EliteBook

Ich würde mich sehr freuen, wenn jemand ein Tipp für mich hat.

Vielen Dank und Gruß  :)

DF6GL

Hallo,

nachdem Du uns im Unklaren über den Tabellenaufbau, Tabellenfelder und Beziehungen lässt, nur dieser Hinweis:

http://www.donkarl.com/?FAQ4.36
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

Nudelskopf

Hallo,

ich habe mal ein Screenshot gemacht. Dort sieht man die 3 Tabellen mit den jeweiligen Beziehungen.
Screenshot ist im Anhang.

Nudelskopf

#3
Hallo zusammen,

nach mehreren Versuchen habe ich es nun geschafft.
Vielleicht gibt es eine bessere Lösung.
Hier mein Lösungsweg:

Ich habe 3 Tabellen:
Typ
Hersteller
Modell

Beziehungen zwischen den Tabellen
Hersteller -> Modell (1:n)
Typ -> Modell (1:n)

Im Formular sind diese als Kombifelder.
Bei der Erstellung hat ein Forenbeitrag geholfen: http://www.office-loesung.de/ftopic6700_0_0_asc.php

Und dann in VBA:
Private Sub cbxT0_AfterUpdate()
    Me!cbxT1.RowSource = "SELECT Hersteller.Hersteller_ID, Hersteller.Hersteller " & _
                         "FROM Typ INNER JOIN (Hersteller INNER JOIN Modell ON Hersteller.[Hersteller_ID] = Modell.[Hersteller_ID]) ON Typ.[Typ_ID] = Modell.[Typ_ID] " & _
                         "GROUP BY Hersteller.Hersteller_ID, Hersteller.Hersteller, Typ.Typ_ID " & _
                         "HAVING Typ.Typ_ID = " & Me!cbxT0
                         
    cbxT1_AfterUpdate

End Sub

Private Sub cbxT1_AfterUpdate()
    Me!cbxT2.RowSource = "SELECT Modell_ID, Modell " & _
                         "FROM Modell " & _
                         "WHERE Hersteller_ID = " & Me!cbxT1 & "And Typ_ID = " & Me!cbxT0
End Sub


Nun kann ich in einem Formular nach Gerätetyp -> Hersteller -> Modell vorgehen.
Vielleicht hilft meine Lösung jemanden weiter.

Gruß  :)

Nudelskopf

Hallo zusammen,

soweit läuft das ganze. Ich kann per Kombifeld Datensätze in die Tabelle hinzufügen. Die Kombifelder zeigen auch das Richtige an. Wenn ich bei Typ "Notebook" wähle werden die Hersteller mit Notebooks angezeigt. Zuletzt noch das passende Modell vom ausgewählten Hersteller.
Aber wenn ich das Formular speicher -> schließe und dann öffne wird bei mir nur der Datensatz Typ angezeigt (siehe Anhang).
Wenn ich das Kombifeld "Hersteller" ausklappe, wird nichts angezeigt.
Gibt es eine Möglichkeit meine Datensätze angezeigt zu bekommen und auch die Kombifelder?

Danke und Gruß  :)

J.D

Werden deine Optionen die du gewählt hast auch in der Datenbank abgelegt?
wenn ja musst du deine Anfrage auf dem Formular entsprechend anpassen oder die Felder überprüfen!

Grüsse J.D
Hilfe zur Selbsthilfe vs. learning by burning
Schritt 1.2

Beaker s.a.

@Nudelskopf
Du musst die Rowsources der abhängigen Kombis zusätzlich "Beim Anzeigen"
(Form_Current) setzen.
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)

Nudelskopf

Zitat von: Beaker s.a. am April 29, 2020, 16:59:58
@Nudelskopf
Du musst die Rowsources der abhängigen Kombis zusätzlich "Beim Anzeigen"
(Form_Current) setzen.
gruss ekkehard

Danke  ;D
Das läuft jetzt