Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Die Zehn Gebote





Frage

Eines der Gebote besagt: "...du sollst keine "Nachschlagefelder" verwenden, denn solches ist von Übel." [http://www.dbwiki.de/wiki.php?title=Access_Anf%E4nger:_Die_Zehn_Gebote] Ich verwende nun viele Nachschlagefelder (in Form von Kominationsfelder baue ich sie gleich in die Tabellen ein; so kann man beim Ausfüllen eines Formularfeldes zwischen den Tabelleninhalten aus der nachgeschlagenen Tabelle auswählen) Meine Frage jetzt: Warum soll dies von Übel sein? Bisher hatte ich keine Probleme. Was kommt dann auf mich in Zukunft zu?

Antwort 1 von el_gomero

Hi,

eines der Gebote sagt auch, daß du in Formularen erfassen sollst und die Tabellen den Anwender nichts angehen. Die Probleme tauchen auf, wenn du versuchst auf die ID oder sonstige Felder der Tabelle zugreifen willst. Ein sauberer Programmierstil verzichtet auf Nachschlagefelder ( denn solche sind von Übel ;) ).

ciao
Jürgen

Antwort 2 von oliverV

Hallo Tomczek,

dürfte die Reaktion auf meine Bemerkung hier sein.

Ich bin natürlich davon ausgegangen, das der Benutzer die Daten in Formularen und nicht in Tabellen erfasst; denn das wäre sonst ein noch größeres Übel.

Probleme wirst du bekommen, wenn du dich auf ein solches Feld beziehen willst und die getätigte Auswahl als Kriterium auslesen willst (z.B. um ein Formular/Bericht zu öffnen und diese Daten einzuschränken).

Du bist dadurch unflexibel, denn du wirst später „ähnliche“ Kombifelder nutzen.
z.B. in einem Bestellformular hast du ein Nachschlagefeld „Artikel“ (ID gebundene Spalte / Artikelbezeichnung sichtbare Spalte), als 3. (unsichtbare) Spalte willst du aber noch die Mengeneinheit mitführen auf die du dich in einem weiteren ungebunden Formularfeld mit Column(2) beziehst.

Versuche mal die Datenherkunft eines geöffneten Formulars zu verändern, mit solchen Nachschlagefeldern...

Du bist bei wachsenden Bedürfnissen an die DB gezwungen Tabellennachschlagefelder die du in Formularen verwendest durch „echte“ Kombinationsfelder zu ersetzen.
Dann wird’s aber richtig eklig, denn dann hast du ein Teil Nachschlagefelder und ein Teil Kombifelder, was du auf den ersten Blick aber nicht erkennst.
Du baust dir damit unnötige Stolpersteine.

Fazit – speichere deine Fremdschlüssel wirklich als Zahl in den Tabellen, erst in den Formularen verwende Kombinationsfelder, du ersparst dir dadurch viele unnötige Probleme.

Gruß

Oliver


Antwort 3 von mapet

Hallo

Ich will hier nur die Aussage von Oliver unterstützen, musste meine erste DB völlig umbauen, damit es einigermassen funktionierte.
Die "zehn Gebote" scheinen für den Laien nicht immer nachvollziehbar aber wer sie einhält erspart sich Aerger.
Ich habe Sie zu spät gefunden!

mapet



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: