Bezug zu anderer Tabelle

Hallo,

ich habe in Access 2003 eine Tabelle (Artikel) mit drei Spalten: ID (Autowert), Artikelnummer, und Artikelbezeichnung.
In dieser Tabelle befinden sich 19.238 Datensätze (Artikel).
Eine andere Tabelle heißt FA_Bereitstellungen. Die Daten werden über ein Formular eingetragen und gespeichert. In diesem Formular gibt es ein Feld, in dem die Artikelnummer eingetragen wird. Nun zu meinem Problem: Wie funktioniert es, dass wenn ich in ein Textfeld die Artikelnummer eintragen, im nächsten Textfeld automatisch die dazugehörige Artikelbezeichnung erscheint, also sich das Textfeld die Artikelbezeichnung aus der Tabelle Artikel zieht.
Es wäre gut wenn mir jemand von euch eien step by step Anweisung geben könnte. So lange beschäftige ich mich noch nicht mit Access.

Danke

Hi,

was für ein Beziehungstyp ist das? 1:1 oder 1:n - also 1 Artikel pro Bereitstellung oder mehrere Artikel pro Bereitstellung?

Wenn es nur maximal ein Artikel pro Bereitstellung ist dann musst du im Beziehungsfenster ein normales Feld Artikelnummer für die Bereitstellungstabelle setzen und Artikelnummer in der Artikel Tabelle als Primärschlüssel ( ich denke mal jeder Artikel besitzt eindeutige Nummern) und dann im Beziehungsfenster über die Artikelnummer verknüpfen.

Wenn es so ist, dass mehrere Artikel pro Bereitstellung da sein sollen musst du z.B. in die Bereitstellungstabelle ein Feld namens „ArtikelBereitstellung_ID“ einfügen als Primärschlüssel und dann mit einem normalen Feld „ArtikelBereitstellung_ID“ verknüpfen.

Dann im Formular: Wenn ein Artikel pro Bereitstellung dann musst du die Datenherkunft von dem Formular mit beiden Tabellen verknüpfen (durch eine Abfrage oder bei Datenherkunft auf die 3 Punkte klicken und beide Tabellen auswählen) und dann kannst du ein Kombifeld erstellen, bei dem du den Steuerelementinhalt auf die Artikelnummer legst und als Datenherkunft die Artikeltabelle. Dann stellst du dabei unter Formateigenschaft noch 2 Spalten ein und machst die Spaltenbreite auf 0cm;2cm und setzt das Feld Artikelbezeichnung darunter.

In dem Formular sind insgesamt 5 Textfelder für die Artikelnummer und 5 Textfelder für die Artikelbezeichnung die gezogen werden soll. Es befinden sich aber alle Tabellen in der selben Datenbank bzw. in einer Datei.
Das mit den Beziehungen habe ich noch nicht so richtig kapiert wie das Schritt für Schritt funktioniert und wie genau ich was verknüpfen soll.

Es gibt einen extra Menüpunkt namens „Beziehungen“ in Access. Das ist dieses große freie Feld wo man die Tabellen miteinander verknüpfen kann.

Das sieht so aus: http://www.bilderupload.de/bild.php/31376,faqsigdate…

Wieso sind es genau 5 Textfelder? Hast du in der Bereitstellungstabelle jetzt ArtNr1, ArtNr2, ArtNr3, ArtNr4, ArtNr5 angelegt oder nur 1x ArtNr und willst irgendwann 5 Artikel dort zu stehen haben? Können es auch mehr werden als 5 Artikel oder ist das das Maximum?

MfG
Philipp K.

Hallo,

habe insgesamt 10 Feder:

Artikelnummer1-Artikelbezeichnung1
Artikelnummer2-Artikelbezeichnung2
Artikelnummer3-Artikelbezeichnung3
Artikelnummer4-Artikelbezeichnung4
Artikelnummer5-Artikelbezeichnung5

Es werden nicht mehr als 5 Artikel. Nach Aktualisierung der Artikelnummer soll eben die Bezeichnung automatisch gezogen werden.
Anschließend sollen die Daten in einer neuen Tabelle gespeichert werden. Das Formular und das hinzufügen/entfernen von Datensätzen funktioniert schon.
Das mit den Beziehungen habe ich schon versucht, aber irgendwie kapiere ich das nicht. Gibt es da nicht eine step by step Anleitung wie man eine solche Beziehung erstellt?

Sascha

Hallo Sascha,

ist die Artikel ein eindeutiger Wert pro Artikel? Dann bräuchtest du die ID in der 2. Tabelle nicht und könntest die Artikelnummer als DetailID benutzen.
Möchtest du unbedingt 5 Felder für Nr und 5 für Bezeichnung setzen oder würdest du auch ein Unterformular benutzen wollen, wo sich die Benutzer dann den Artikel raussuchen, anstatt die Nummer eingeben zu müssen und wo sich dadurch die Anzahl der angezeigten Artikel anpasst?
Also wenn der Kunde 3 Artikel kauft dann 3 angezeigt werden bzw. wenn es irgendwann mal mehr werden als 5 dann keine Probleme gibt.

MfG
Philipp K.

Hallo,

die 5 Felder sind nötig, da es sich um Fertigungsaufträge handelt. Die Aufträge haben meistens maximal 5 Artikel zum Verarbeiten. Deshalb benötige ich kein Unterformular sondern möchte alles über ein Formular erfasssen.
Die Atikel haben zumindest einen so eindeutigen Wert dass jeder Atikel mit einer ID als separater Datensatz angelegt ist.

Hallo,

habe insgesamt 10 Feder:

Artikelnummer1-Artikelbezeichnung1
Artikelnummer2-Artikelbezeichnung2
Artikelnummer3-Artikelbezeichnung3
Artikelnummer4-Artikelbezeichnung4
Artikelnummer5-Artikelbezeichnung5

das ist nicht geeignet…

Es werden nicht mehr als 5 Artikel.

woher weiß man das?

Nach Aktualisierung der

Artikelnummer soll eben die Bezeichnung automatisch gezogen
werden.
Anschließend sollen die Daten in einer neuen Tabelle
gespeichert werden.

wozu? es braucht nur jeweils der Primärschlüsselwert (geeignet) gespeichert werden. Dafür ist der da.

Das Formular und das hinzufügen/entfernen

von Datensätzen funktioniert schon.

mag sein, trotzdem wird es in Zukunft nicht funktionieren.

Das mit den Beziehungen habe ich schon versucht, aber
irgendwie kapiere ich das nicht.

verständlich, die Tabellen sind auch nicht normalisiert und demzufolge funktionieren klassische Beziehungen nicht.

Gibt es da nicht eine step by

step Anleitung wie man eine solche Beziehung erstellt?

Viele Steps sind nicht notwendig, wenn man von den Überlegungen zum richtigen Tabellenaufbau absieht.

Eine Beziehung wird erstellt, in dem man im Beziehungsfenster die Tabellen hinzufügt und die richtigen Schlüsselfelder per Drag&Drop miteinander verbindet.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

naja, wenn Du meinst…

Hi Sascha,

Unterformulare sind aber die elegantere Lösung, weil sie flexibler sind und sich deine Tabelle nicht aufbläht. Zusätzlich, falls die eine Tabelle mal beschädigt werden sollte, hast du wenigstens noch die Daten aus der 2. Tabelle.

Also ich würde das Problem über eine m:n Beziehung lösen, indem ich die Kunden über die Zwischentabelle Aufträge mit den Artikeln verbinde und dann ein Formular mit Datenherkunft Kunden erstellen, in dem sich ein Unterformular für Aufträge befindet mit dem man dann über ein Kombifeld den Artikel auswählen kann.
Man kann den Rand und die Vertiefungen von Unterformularen auch ausblenden, dann sieht es aus als wäre es ein und dasselbe Formular, wenn dich das Optische davon abhält mit Unterformularen zu arbeiten.

Die Auswahl mit 5 festen Artikeln ist nicht so toll, habe das auch mal so gehabt und musste schnell feststellen, dass ich irgendwann keine Felder mehr zzur Tabelle hinzufügen konnte, weil die maximale Größe erreicht wurde!

MfG
Philipp K.