Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Verknüfungsschwierigkeiten

Begonnen von Jan-Philipp Oppermann, Februar 04, 2011, 12:26:03

⏪ vorheriges - nächstes ⏩

Jan-Philipp Oppermann

Guten Tag,

ich habe ein Problem beim erstellen meiner ersten Datenbank.
Ich habe zwei Tabellen. Die eine enthält die Daten von Mitarbeitern, darunter den Autowert IDPersonalNr. IDPersonalNr ist ein Autowert der Zahlen enthält die zufällig vergeben werden.
1. Frage: Ich würde auch gerne wissen, ob man einem Autowert eine bestimmte länge geben kann, oder ob man "ihm sagen" kann, er soll doch Buchstabend aus dem Namen des Mitarbeiters nehmen?

Eine Zweite Tabelle enthält die Adressen der Mitarbeiter. Als Verbindung zwischen den beiden Tabellen besteht bisher nur eine von mir selber eingegebene Kennung, welche ich auch gerne automatisch erstellen lassen würde, darum die erste Frage.
Nun möchte ich dort auch die IDs aus der ersten Tabelle stehen haben. Diese sollen automatisch aus der ersten Tabelle per Kennung rausgesucht werden. Also das Programm soll wissen, sind die Kennungen gleich, kommt hier diese und dort diese ID rein. Hierzu also die zweite Frage.
2. Frage: Wie kriege ich das hin? Bisher habe ich es versucht, indem ich per Select From und Where gearbeitet habe. Doch leider macht er da nichts anderes als sonst auch, erzeigt als Auswahl alle IDs aus der ersten Tabelle an und ich könnte dann eine Auswählen.

Ich hoffe mein Problem ist verständlich formuliert. Für nachfragen stehe ich selbstverständlich gerne zur Verfügung. Ich möchte nur mein Problem gelöst haben.

Ich freue mich auf eure Beiträge.

Mit freundlichen Grüßen,

Jan-Philipp Oppermann

database

#1
Hallo,

zur ersten Frage - es ist nicht möglich den Autowert mit Buchstaben zu mischen und es ist nicht möglich den Autowert auf eine bestimmte Länge zuzuschneiden.
Die Werte, die beim Anlegen von Datensätzen durch Autowert vergeben werden entsprechen einer Zahl vom Datentyp Long Integer.

Für die zweite Frage folgendes:

Die Tabellen Mitarbeiter und Adressen sollten - sofern es überhaupt notwendig ist diese zu trennen - über das Autowert-Feld (Primärschlüssel Tabelle Mitarbeiter) und ein Gegestück in der Tabelle Adressen (Fremdschlüssel Zahlenfeld Long Integer) 1:n in Beziehung gesetzt werden. 1:n deshalb, weil bei einer Trennung von Mitarbeiterdaten und deren Adressen die Annahme gelten kann, dass für Mitarbeiter das Speichern von unterschiedlichen Adressen ermöglicht werden soll.

Näheres und Detaillierteres zu Beziehungen und deren Aufbau, Definition und Design der Tabellen sowie zu Regeln der Normalisierung
von Datenmodellen findest du in der Signatur von DF6GL unter den Links Nr.1 und Nr.2
Die Informationen, die du unter diesen Links findest solltest du dir unbedingt genau anschauen!

Zur Frage, wie die ID der Mitarbeiter in die Adresstabelle gelangt, gibt es verschiedene Möglichkeiten, die davon abhängig sind, wie du deine Eingabeformulare aufgebaut hast.
Die einfachste Form wäre m.E. ein Formular für die Mitarbeiterdaten mit einem Ungteformular für die Adressen, wobei die Formulare über die Schlüsselspalten verbunden sind.

ZitatIch möchte nur mein Problem gelöst haben
Na was denn sonst ?  :D ;D

Hondo

Hallo,
zu 1, der Autowert ist ein Identifier, der z.B.  für die richtigen Verknüpfung bei mehreren Tabellen sorgt.
Als Referenznummer (Mitarbeiter-, Kunden- etc) nicht geeignet. Diese sollte entweder manuell eingegeben werden und dabei auf doppelte Nummern überprüft werden oder man schreibt eine Funktion die eine neue Referenz-Nummer generiert und diese zurückgibt.

zu 2, nur dann Sinnvoll wenn du davon ausgehst dass ein Mitarbeiter verschiedene Adressen haben kann. Sonst gehören gleichartige Daten zusammen, also 1 Tabelle Mitarbeiter.

Generell werden 2 Tabellen mit einander über Primärschlüssel der einen Tabelle (identifier) und Sekundärschlüssel der "niederrangigen" Tabelle (LongInteger Zahl) verknüpft.
Wenn man in der Tabelle 2 über ein Formular Daten einfügt muss man dafür sorgen dass automatisch der Identifier der 1. Tabelle auch mit gespeichert wird.

Aber mit wenigen Zeilen kann ich dir das so genau nicht erläutern, ggf. ein passendes Buch/Tutorial lesen.

Andreas