Hallo,
ich arbeite mit Access 2007 und habe folgendes Problem. Es liegt eine Tabelle vor, in der Daten von Aufträgen erfasst sind. Die Struktur ist so aufgebaut, daß es für eine Auftragsnr. (ABFDocErfNr) mehrere Positionen an Artikeln gibt (ABFPosId) . Wie kann ich nun eine Abfrage generieren, bei der der Bediener nach mehreren verschiedenen Auftragsnr. filtern und diese sich anzeigen lassen kann?
Als Beispiel habe ich mal einen winzigen Auszug der DB angehängt. Hier z.B würde ich mir nur A190060,A190065 und A190069 anzeigen lassen wollen. Klar kann ich das als Kriterium in einer Abfrage machen, aber wie mache ich das über ein Auswahlformular evtl. mit Kontrollkästchen?
Vielen Dank schonmal für Eure Hilfe.
GlückAuf
HaNe
...keiner eine Idee...oder hab ich mich wiedermal falsch ausgedrückt?
GlückAuf
HaNe
@HaNe
Was soll man mit einer einzigen Tabelle auch anfangen?
Für eine Auftragserfassung benötigst du schon ein paar mehr Tabellen.
Kunden:
KundeID (PK, Autowert)
Vorname
Nachname
weitere Felder ausser Adressdaten
Adressen:
AdressID (PK, Autowert
KundeID_F (FK Kunden)
PLZ
Ort
Strasse
Hausnr.
Auftraege:
AuftragID (PK, Autowert oder eigene Nr.)
AdressID_F (FK zu Adressen)
weitere Felder (ADatum usw.)
AuftragsPositionen:
PosID (PK, Autowert)
AuftragID_F (FK zu Auftraege)
Felder zur Erfassung der Artikel/DL
Zu Letzterem brauchst du natürlich auch die entsprechenden Stammdaten-Tabellen.
Mit einem solchen Aufbau lassen sich ganz bequem später einzelne Aufträge herausfiltern.
gruss ekkehard
P.S.
Zitataber wie mache ich das über ein Auswahlformular evtl. mit Kontrollkästchen?
Mit einem Listenfeld mit Mehrfachauswahl.
ZitatAuftraege:
AdressID_F (FK zu Adressen)
Verstehe ich das richtig: Aufträge mit Fremdschlüssel zu Adressen und nicht zu Kunden ?
Was ist, wenn zwei Kunden im gleichen Haus wohnen ?
ZitatWie kann ich nun eine Abfrage generieren, bei der der Bediener nach mehreren verschiedenen Auftragsnr. filtern und diese sich anzeigen lassen kann?
Du bietest bspw. dem User ein Listenfeld mit Mehrfachauswahl und folgender Datenherkunft an:
SELECT DISTINCT ABFDocErfNr FROM TabXDa kann er auswählen, was er gerade mag. Aus der Auswahl wird dann ein Filter erstellt.
@nurmikss
ZitatAufträge mit Fremdschlüssel zu Adressen und nicht zu Kunden ?
IMO kannst du, wenn die Adresse in der Kunden-Tabelle erfasst wird,
nur mit der KundenID keine Umzüge abbilden.
ZitatWas ist, wenn zwei Kunden im gleichen Haus wohnen ?
Das sind für mich erstmal
zwei Kunden mit jeweils einer Adresse.
Das die nun gleich ist spielt für mich keine Rolle, - wird redundant
gespeichert. Wenn das allerdings öfter vorkommt, z.B. beim Abrechnen
von Stromzählern, sollte man dann aber vielleicht doch eher Kunden und
Adressen mit einer n:m-Tabelle zusammenführen.
Beim Handel hat man es zudem oft auch mit zwei Adressen (Rechnung/
Lieferung) zu tun, so dass in den Auftragskopf sogar zwei FK zur Adressen-
Tabelle gehören.
gruss ekkehard