Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access - Spalten miteinander verknüpfen

Frage Microsoft Microsoft Office

Mitglied: manibam

manibam (Level 1) - Jetzt verbinden

25.04.2013 um 13:33 Uhr, 5876 Aufrufe, 3 Kommentare

Hallo

Leider sind die Access Stunden aus der Schulzeit schon etwas her, desswegen auch der komische Titel. (weis nicht genau wie ich es fomulieren sollte ;)

Es geht um eine Access DB, in der ich unsere Hardware aufliste.

Es gibt eine Tabelle Hardware:
746a09b8eb4e1239857c9e4546ae6d6e - Klicke auf das Bild, um es zu vergrößern

und eine Tabelle Geräte
adad0bcef0dee51be3c737e85a090086 - Klicke auf das Bild, um es zu vergrößern

In der Tabelle Geräte wird ein Modell einem Typ zugewiesen. zb:

Modell: HP 8570w
Typ: Notebook

In der Tabelle Hardware hab ich eine Spalte Modell, in der ich bei neuen Einträgen das Modell auswählen kann.

Jetzt will ich noch eine Spalte Typ in der Tabelle Hardware machen. Diese soll aber direkt über das Modell ausgefüllt werden.

zb:
neuer Eintrag -> ich wähle das Modell aus "HP 8570w", jetzt soll dann automatisch die Spalte Typ ausgefüllt werden.

wie mach ich das am einfachsten? und wie für ich den richtigen Typ bei den bestehenden Einträgen hinzu?
Mitglied: Biber
25.04.2013 um 13:51 Uhr
Moin @manibam,

dann wäre der erste Schritt das Anlegen einer Parent-Tabelle "Typen" mit zwei (oder mehr) Spalten

  • "Typ", Text, uniquePK (ich würde hier auf eine künstliche ID verzichten bei zu erwartenden 30+x Typen)
  • "Typbeschreibung", Text, opional
  • "whatever" du sonst noch brauchst

... und einer kleinen schlanken Lookup-Tabelle "Modelltyp" mit den Spalten

  • "Modell" vom gleichen Feldtyp und der gleichen Länge wie "Modell" in der Tabelle "Geräte"
  • "Typ" vom gleichen Feldtyp und der gleichen Länge wie "Typ" in der Tabelle "Typen"

...und je
  • einer Parent-Child-Beziehung zwischen "ModellTyp" und "Geräte"
  • einer Parent-Child-Beziehung zwischen "Typ" und "ModellTyp"

Wenn du das hast und in der Tabelle "Typ" die ersten drei Datensätze hast, dann treffen wir uns wieder hier.

Grüße
Biber
Bitte warten ..
Mitglied: manibam
25.04.2013, aktualisiert um 15:10 Uhr
Hallo Biber

so, bin so weit ;)

Hier eine kurze Auflistung der aktuellen Tabellen:

Tabelle: Geräte
Feldname: ID (AutoWert)
Feldname: Typ (Text)
Feldname: Modell (Text)

Tabelle: Gerätetypen
Feldname: ID (AutoWert)
Feldname: Typ (Text)

Tabelle: Hardware
Feldname: HWID (AutoWert)
Feldname: Besitzer (Text)
Feldname: Modell (Text)
Feldname: Typ (Text)
....
....

Tabelle: User
Feldname: ID (AutoWert)
Feldname: Name (Text)
Bitte warten ..
Mitglied: Biber
25.04.2013 um 20:05 Uhr
Moin manibam,

sorry, ich hatte zwischendurch noch andere Sachen auf dem Zettel.

Nochmal kurz zur Parent-Child-Foreignkey-Mimik:

Es funktioniert nur sinnvoll, wenn ich von einer Child-Tabelle, bei dir im Beispiel

Tabelle: Geräte (ist ein Child von Parent-Tabelle "Gerätetypen", die den PK GerätenTypen.ID hat )
Feldname: ID (AutoWert)
Feldname: Typ (Text) ---> hier muss das Feld den gleichen Datentyp+das gleiche Format haben wie der primary key der Parent-Tabelle
Feldname: Modell (Text) --> auch hier muss das Feld den gleichen Datentyp+das gleiche Format haben wie der

Tabelle: Gerätetypen
Feldname: ID (AutoWert) --> wenn das der PK ist, dann ist es eine Zahl und im Child muss es auch eine Zahl sein
Feldname: Typ (Text) --> wenn das der PK ist, dann ist es TEXT und er muss unique=eindeutig identifizierend sein und im Child muss es auch TEXT sein


Besser wäre IMHO diese Struktur:

Tabelle: Geräte ( hat den PK "ID", wenn du diesen Namen beibehalten willst oder "GeräteID", wenn du an später denkst)
Feldname: ID (AutoWert) --> PK
Feldname: Typ (Text) --> beide Felder brauchst du nicht, denn von "Modell" kommst immer auf den "GeräteTyp"
Feldname: Modell (Text) --> beide Felder brauchst du nicht, denn von "Modell" kommst immer auf den "GeräteTyp"
-> nimm da nur ModellID (wenn ModellID der PK von "Modelle" ist

Tabelle: Gerätetypen
Feldname: ID (AutoWert) --> ist PK, besser wäre "GeräteTypID", das findest du wieder)
Feldname: Typ (Text)

Tabelle: Hardware
Feldname: HWID (AutoWert) -> ist PK und sinnvoll benannt)
Feldname: Besitzer (Text)
Feldname: Modell (Text) --> da könnte "ModellID" stehen als Querverweis auf "Modells"
Feldname: Typ (Text)

--> siehe oben: --> beide Felder brauchst du nicht, denn von "Modell" kommst immer auf den "GeräteTyp"


Fehlend ist noch eine Tabelle
Tabelle: Modelle
Feldname: ModellID (AutoWert) --> ist PK
Feldname: ModellText (Text)
Feldname: ModellTyp (Zahl) --> von hier ein Foreignkey auf die "GeräteTyp.GeräteTypID", was ja der Parent ist.

Diese "Modelle" wiederum ist der Parent von deinen "Geräte"n.
In "Geräte" gehört also ein Feld "ModellID", von wo eine FK-Beziehung auf "Modelle.ModellID" zeigt.

Im Zweifelsfall mach es wie die Profis.
Nimm einen Notizzettel, ca. 7x7cm, mal die vier ver###ten Tabellen als kleine Kästchen-Hierarchie daruf und zieh ein paar diagonale Linien, damit du siehst, welches Kiddie unter welchen Pappa gehört und wer der Oppa ist.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Access: Spalten ist Anzahl Wenn größer NULL (11)

Frage von Pilger83 zum Thema VB for Applications ...

Datenbanken
Access Checkbox mit Kombifeld und dann filtern

Frage von atomas42 zum Thema Datenbanken ...

Windows Server
AD-Berechtigungen von zwei Servern miteinander vergleichen (3)

Frage von s0m3ting zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...