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, 6165 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 ..
Ähnliche Inhalte
Datenbanken
Access 2010 Pivot Table Export keine Werte (2)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

LAN, WAN, Wireless
Rogue Access Point (21)

Frage von Axel90 zum Thema LAN, WAN, Wireless ...

VB for Applications
gelöst VBA Code Änderung Access 2010 (6)

Frage von Dr.Cornwallis zum Thema VB for Applications ...

Windows 10
Windows 10 mit Direct Access 2012 R2 zeigt es nicht alle Ordner an (4)

Frage von rainergugus zum Thema Windows 10 ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Webbrowser
Windows 7 unbeliebte Internetseite sperren (15)

Frage von Daoudi1973 zum Thema Webbrowser ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...

VB for Applications
Daten eines einzelnen Tabellenblatt als Mail versenden (kein Dateianhang) (9)

Frage von Zentralenteufel zum Thema VB for Applications ...