[MS Access] Komfortable Eingabe von Fremdschlüsselwerten mittels Kombinationsfeld innerhalb einer Tabelle

Ziel: In einer Tabellenzelle soll ein Fremdschlüsselfeld per Name in einem Kombinationsfeld ausgewählt werden können. Die zugehörigen Fremd-ID soll automatisch in die Tabelle eingetragen werden, ohne dass man selber nach der ID suchen muss.

  1. Entwurfsansicht der Tabelle öffnen
  2. Fremdschlüsselspalte auswählen
  3. unten “Nachschlagen” auswählen
  4. “Steuerelement anzeigen” -> Kombinationsfeld
  5. Herkunftstyp “Tabelle/Abfrage”
  6. Datensatzherkunft auf “…” klicken (Abfrage-Generator öffnen)
    • erst Spalte mit Text (z.B. Name) wählen, Sortierung aufsteigend
    • dann Spalte mit Primärschlüssel (ID) wählen
    • Abfrage-Generator schließen
    • Access generiert nun ein passendes SQL-Statement, z.B.:
    • SELECT User.Name, User.ID
      FROM Users
      ORDER BY User.Name;
      
  7. Gebundene Spalte muss nun auf “2” gestellt werden, d.h. die “User.ID” wird später bei der Auswahl anstatt des gewählten Namens in die Tabelle eingetragen
  8. Spaltenzahl auf “1”, so wird im Kombinationsfeld nur die 1. Spalte, also der “Name” angezeigt
  9. Spaltenbreiten können in cm angegeben werden, hier sinnvolle Werte eintragen. Mehrere Spaltenbreiten per “;” trennen!
  10. Listenbreite gibt die angezeigte Gesamtbreite in cm des Kombinationsfeldes an
  11. Zu beachten ist, dass, wenn mehrere Spalten bei der Auswahl angezeigt werden, immer die erste angezeigte Spalte später bei der Auswahl in der Tabelle zu sehen ist.

[MS Access] Abhängigkeiten / Relationen erstellen / editieren

  • Dialogfenster “Beziehungen” öffnen
  • Primäschlüssel sind fett
  • Relation immer vom Primärschlüssel zum Fremdschlüssel ziehen (Typ “Zahl” auf Typ “Zahl”)
  • beachten, dass wenn schon Verweise (Tabelleninhalt) bei den Fremdschlüsseln drin stehen, dass diese auch gültig sind (z.B. “0”)!
  • im Dialog immer “Mit referentieller Integrität” wählen

[MS Access] Tabellen erstellen

  1. Entwurfsansicht der Tabelle öffnen
  2. Primärschlüssel definieren
    • FeldName “ID”
    • links vor dem Feldnamen Rechtsklicken, “Primärschlüssel” wählen
    • Felddatentyp auf “Autowert”
  3. Fremdschlüssel immer vom Typ “Zahl”, “Long Integer”
  4. Indexe: unten bei “Allgemein” bei “Indiziert” “ja” einstellen