skulldred
Goto Top

Nachschlagefeld vermeiden - Wie?

Hallo zusammen

ich versuche mich gerade einer Inventar DB in Access 2010.
Nun habe ich oft gelesen, dass Nachschlagefelder nicht das wahre sind.
Ein Problem durfte ich bereits selbst feststellen:

angenommen ich habe 3 Tabellen

tbl_Hersteller
tbl_Computer
tbl_Computerkonfiguration

In tbl_hersteller speichere ich Namen wie z.B. Apple, HP, Lenovo usw.
mit einer ID und dem eigentlichen Feld.

In tbl_computer speichere ich nun eines meiner Computermodele mit Informationen die bei allen PC dieser Reihe gleich sind.
Wie z.B. Prozessor, Ram usw. dabei wähle ich über ein Nachschlagefeld den Hersteller aus, der mir hier auch sauber dargestellt wird.

in tbl_Computerkonfiguration wähle ich nun das zuvor erstelle Model aus einer Dropbox mit mehreren Spalten. z.B. Hersteller | Model. Danach trage ich die Sonderheiten ein wie IP, Mac, Standort usw.
Das ganze ist eine 1:n beziehung. Ein Model kann verschiedene konfigurationen haben. Jetzt wird mir aber bei hersteller
logischerweise die ID vom Hersteller und nicht der Name angezeigt. Ist ja auch klar warum, aber nicht so ganz klar wie ich das nun umgehe.


Auf der Suche nach einer Lösung habe ich sehr oft gelesen das Nachschlagefelder "böse" sind. Irgentwie verständlich, weniger hingegen was die Alternative ist.
Wie kann ich denn sonst eine Liste wie bei Hersteller generieren?


Besten Dank schon mal.
MfG SD

Content-ID: 182657

Url: https://administrator.de/contentid/182657

Ausgedruckt am: 05.11.2024 um 06:11 Uhr

NetWolf
NetWolf 27.03.2012 um 18:58:29 Uhr
Goto Top
Moin Moin,

Nachschlagefelder sind das Beste das dir passieren kann. Wie willst du sonst komfortabel deine Hersteller auswählen?
Echte Alternativen sind mir nicht bekannt. Gewusst wie, ist ein Nachschlagefeld wirklich super für die leichte Nutzung. Der Anwender wird es dir danken.

Leider schreibst du nichts über deine Feldernamen. Ich gehe also davon aus, dass du ein ID-Feld für die Hersteller in deiner Tabelle hast.
Das Kombifeld in deinem Formular musst du nur so konfigurieren, dass die Spalten in der richtigen Reihenfolge dargestellt werden:

1. Spalte = ID-Hersteller
2. Spalte = Herstellername

Das kannst du über die Datenquelle einstellen: einfach mal auf die drei Punkte am Ende der Zeile klicken. Es öffnet sich eine Abfrage, in der du die Spalten anordnen und eine Sortierung definieren kannst.

Damit du in deinem Kombifeld nicht die ID siehst, sondern den Herstellernamen, musst du die Spaltenbreite auf 0 setzen und die zweite Spalte auf die Größe, dass der Herstellername angezeigt wird: also z.B.: 0; 10 cm
Acht darauf, dass die erste Spalte die verbundene Spalte ist (ist eigentlich Standard bei Access).

Mit dieser Konfiguration wird die ID gespeichert und der Name zur Auswahl angezeigt. Was will man mehr face-smile

Grüße aus Rostock
Wolfgang
(Netwolf)
Skulldred
Skulldred 28.03.2012 um 16:41:42 Uhr
Goto Top
Hallo NetWolf

ich habe das so verstanden, dass man an der Tabelle direkt keine Eingabe macht.
Sprich ein Feld definiert z.B. Hersteller und dann im Formular eine Auswahlbox erstellt und den Wert an das Hersteller Feld übergibt.
Hört sich, für mich zumindest, ganz plausibel an.

Aber um nochmals auf Nachschlagefelder zu kommen:

TabelleHersteller
ID_Man
Hersteller

TabelleModel
ID_Mod
ID_Man --> Nachschalgefeld mit den Werten aus TabelleHersteller
Modelnummer

TabelleModelConfig
ID_Mod_con
ID_Mod --> Nachschalgefeld mit den Werten aus TabelleModel
Software

So, ich hoffe man versteht was ich mit oben genanntem Beispiel zeigen möchte.
Das Problem ist in TabelleModelConfig. In der Dropdownliste ID_Mod wird für Hersteller nur die ID Ausgegeben, da nur diese in TabelleModel gespeichert wurde und nicht der Name.
Wie kann ich das denn umgehen?

Danke und fG SD
NetWolf
NetWolf 29.03.2012 um 18:45:01 Uhr
Goto Top
Moin Moin,

Access ist kein Excel! D.h. die direkte Eingabe in Tabellen ist möglich, aber nicht sinnvoll.
Für die Eingabe bzw. Bildschirmausgabe und zum Editieren sollte immer ein Formular verwendet werden! Für Ausdrucke dann ein Bericht.

Erst mit einem Formular hast du die Möglichkeiten, die dir eine reine Tabelle nicht bieten kann. Mangels dieser Möglichkeiten, sollte man in Tabellen auch keine Nachschlagefelder einbauen, sondern im Formular ein Dropdown-Feld nutzen!

Grüße aus Rostock
Wolfgang
(Netwolf)