Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access macht nicht das, was ich will...

Begonnen von bleedingvodka, September 12, 2012, 10:49:27

⏪ vorheriges - nächstes ⏩

bleedingvodka

Ich habe ein rießen Problem! Und zwar sitze ich in der Arbeit, und bekam den Auftrag, eine Art Vergleichsliste mit Access zu erstellen. Anfangs bin ich noch motiviert ran gegangen, allerdings bin ich jetzt mit meinen Kenntnissen (die leider nur aus einem Jahr Schul-Access bestehen) am Ende.
Also Folgendes:
Es geht um Artikel, die alle in mehrere Modelle/Serien von verschiedenen Marken passen. Noch dazu hat ein Artikel zwar eine eindeutige Artikelnummer, allerdings oft mehrere "zusätzliche Nummern". Noch dazu haben sie einen eindeutigen Typ, einen Hersteller usw...
Also habe ich bisher folgendes gemacht:
Tabellen erstellt:
Artikel (Artikel_ID, Artikelnummer, TypNr, HerstellerNr, zusätzliche_NummerNr)
Typ (Typ_ID, Typname)
Marke (Marken_ID, Markenname)
Serie (Serien_ID, Serienname, MarkenNr, ArtikelNr)
Gehört (Gehört_ID, ArtikelNr, SerienNr)
Nummern (Nummer_ID, Nummerzusatz)
GehörtNummer (ID, NummerNr, ArtikelNr)

Beziehungen wurden erstellt, bis dahin gab es kein Problem. Als ich dann aber ein Formular zur Eingabe von neuen Daten, bzw. zur Ergänzung bestehender Artikel, erstellt habe, traten diverse Probleme auf...

1. Es werden zwar neue Datensätze angelegt, allerdings stehen diese in keiner Beziehung zueinander. So wird bei einem neuen Artikel weder der Typ vermerkt, noch ein Hersteller etc.
2. Wenn ein vorhandener Artikel aus dem Kombinationsfeld ausgewählt wird, wird dieser nochmals als neuer Datensatz angelegt. (Heißt die Tabelle ist voll mit Artikel1, Artikel1, Artikel1)
3. Laut Fehlermeldung stehen Artikel und Serie/Marke in keiner Beziehung zueinander, heißt ich kann Serie und Marke nur mit Unterformular einfügen, aber auch hier wird wiederr keine Relation hergestellt.

Außerdem wäre es auch noch erwünscht (nicht von mir, aber von meinem Chef), dass, wenn er in einer Suche eine Artikelnummer eingibt, alle Artikel angezeigt werden, die gleich sind (zwar eine andere Artikelnummer haben, aber trotzdem in die selben Geräte etc. passen)

Verwirrend? Ja, finde ich auch! Und alleine komme ich ganz sicher nicht weiter  :(

LG Anna

Jonny

Hallo Anna,

als erstes muss geklärt werden die du eine vernüftige Normalisierung bekommen kannst.
Aus deine Tabellenbeschreibung geht nicht hervor welche Tabelle welchen Primärkey und Fremdkey haben.
Ohne eindeutige Keys läuft gar nichts.

Die anderen Probleme müssen zurückgestellt werden.

Gruß

Johann

bleedingvodka

Die Primärkeys sind bei mir die Felder mit "ID" hinten dran, die Fremdkeys die mit "Nr".

Klingon 33

Hallo,

ich glaube du hast beim Entwurf der schonTabelle fehler gemacht.
du soltest da noch mal anfangen. vieleicht so:
Du hast ein paar Stammdaten, die in mehreren Artikeln vorkommen. Das ist beispielsweise die Tabelle TYP und Marke, Serie, Lieferanten
Dann hast du deine eigendlichen Artikeltabellen. Artikel. Für die zusätzlichen Nummern brauchst du eine eigene Tabelle (z.B. LIFERANTENNUMMER). Wenn du zu einem Artikel mehrere Lieferanten hast musst du den Verweis auf den Lieferanten in die Tabelle LIEFERANTENNUMMER mit integrieren.
Nun zu den verbindungen:
1. die Stammdatentabelle bekommen eine jeweilige ID (hast du schon)
2. die Tabelle Artikel bekommet einen eigene ID und die jeweiligen ID's der Stammtabellen werden je Datensatz hier eingetragen.
3. Die Tabelle LIEFERANTENNUMMER bekommt ein Feld zum eintragen der Artikel_ID.

Wenn du nun einen Artikel anlegst, dann hatt er folgende beziehungen: 1. er steht in einer 1 zu 1 Beziehung zum Typ zur Marke und zur Serie.
Je Artikel können eine oder mehrere LIEFERANTENNUMMERN mit der 1 zu 1 Beziehung zum Lieferanten bestehen.

Nun zu deinem Formular:
Das Formular wird für die Tabelle Artikel erstellt. Ein Unterformular wird für die Tabelle LIEFERANTENNUMMER erstellt. Die Beziehung wird  über die Artikel_ID hergestellt.
In dem Artikelformular verwendest du für die Stammdaten jeweils Kombinationsfelder. Deren Steuerelementeinhalt ist das entsprechende Feld in der Tabelle Artikel und deren Datenherkunft die jeweilige Stammdatentabelle.Damit wählst du die ID des jeweiligen Stammdatensatzes aus und speichers diese in der Tabelle Artikel und hast deine Beziehung. In jeweils gefilterten Unterformularen kannst due dann die Beschreibung der jeweiligen Daten anzeigen.
In der Untertabelle zu den LIEFERANTENNUMMER machst du das gleiche mit dem Lieferanten.

Wenn du dass alles fertig hast, solltest du noch mal Fragen wegen den Filtermöglichkeiten.
Wer Fehler findet, dar diese behalten.

Beaker s.a.

Hallo,
Ich stelle mal das angefügte Beispiel zur Diskussion.
gruss ekkehard

[Anhang gelöscht durch Administrator]
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)