gelöst MS Access Datenbank

Mitglied: endada

endada (Level 1) - Jetzt verbinden

14.04.2017 um 14:41 Uhr, 2861 Aufrufe, 18 Kommentare

Hey alle zusammen,
ich habe folgendes Problem:
Ich versuche eine Datenbank mit Access zu erstellen, die wie im Screenshot (Anhang) aussehen/ funktionieren soll.
Jedoch ist mein Problem, dass er mir für jeden Datensatz eine neue ANr (Auftragsnummer) vergibt. Ich denke es wäre jedoch sinnvoller, wenn Kunden, die mehrere Produkte gleichzeitig bestellen, auch die gleiche ANr erhalten, oder?! ( siehe im Bild z.B. Anr.2)

Vermutlich muss ich das mit SQL lösen, oder geht es auch mit den Accesstools?


Danke schonmal

(Ach ja bin leider noch nicht so Fit in dem Thema und habe kein anderes Programm für Datenbanken zur Auswahl)


aufträge - Klicke auf das Bild, um es zu vergrößern
aufträge - Klicke auf das Bild, um es zu vergrößern
Mitglied: 132895
14.04.2017, aktualisiert um 15:16 Uhr
Du brauchst hier eine Tabelle Aufträge mit eindeutigen IDs. Dann eine Tabelle Produkte in dem jedes Produkt ebenfalls eine eindeutige ID erhält. Genauso eine Tabelle Kunden. Dann noch eine Tabelle Auftragsdetails in der alle bestellten Produkte mit den Fremdschlüssel ID aus Tabelle Aufträge und dem Fremdschlüssel des bestellten Produkts gelistet wird. So trennt man das normalerweise immer auf.

Einfachstes Relationales Datenbankdesign und mit Access ohne Probleme machbar.
https://support.office.com/en-us/article/Database-design-basics-1eade2bf ...
https://www.ntu.edu.sg/home/ehchua/programming/sql/relational_database_d ...

Gruß
Bitte warten ..
Mitglied: endada
14.04.2017 um 16:18 Uhr
Ich habe das wie im folgenden Screenshot angelegt gehabt.

Da fehlt also noch eine Tabelle?

MFG
beziehungen - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: 132895
14.04.2017, aktualisiert um 16:28 Uhr
Ja da fehlt die Tabelle Auftragsdetails in der zu jedem Auftrag alle gekauften Produkte gelistet werden, dort darf dann eine Auftragsnummer als Fremdschlüssel mehrfach vorkommen, denn ein Kunde soll ja mehrere Produkte bestellen können, nicht nur eins...
Lese die obigen Links dann verstehst du das Prinzip besser.
Bitte warten ..
Mitglied: endada
14.04.2017 um 16:43 Uhr
OK.
Mal schauen, ob ich das hinbekomme.
D.h. in die Tabelle Auftragsdetails übergebe ich dann die Attibute aus den vorliegenden Tabellen, wie z.b. Knr, AufNr, Pnr, Kunde, Straße, Datum,....??
Bitte warten ..
Mitglied: endada
14.04.2017, aktualisiert um 17:26 Uhr
Darin liegt ja mein Problem.
Wenn ich die Auftragsnummer als Primary Key ( Autowert) nehme, übergibt er mir immer eine neue Auftragsnummer.
Aber wie sage ich dem Programm, dass er dieselbe Auftragsnummer beibehalten soll, wenn das Bestelldatum und die Kundennummer identisch sind, jedoch die ProduktID mehrere Unterschiedliche sind?

Das bekomme ich i.wie nicht hin


Ich könnte es mir ganz einfach machen und die Auftragsnummer nicht als Primary Key definieren. Dann kann ich einfach die ANr per Hand immer eingeben, aber das ist wahrscheinlich nicht gerade die schöne Art und Weise
Bitte warten ..
Mitglied: 132895
14.04.2017, aktualisiert um 17:28 Uhr
Zitat von endada:
D.h. in die Tabelle Auftragsdetails übergebe ich dann die Attibute aus den vorliegenden Tabellen, wie z.b. Knr, AufNr, Pnr, Kunde, Straße, Datum,....??
In der Tabelle brauchst du eigentlich nur die Auftragsnummer als Fremdschlüssel und den Artikel als Fremdschlüssel und dann je nachdem was du sonst noch brauchst (Rabatt/speez. Artikelpreis /etc). Einen Kunden gibt es für einen Auftrag nur einen der kommt dann in die Auftragstabelle genau so wie das Datum das brauchen wir ja auch nur einmal erfassen. Klassische 1:n Zuordnung ist das = Ein Auftrag hat mehrere Produkte.

Das Design ist sehr wichtig und sollte gründlichst überdacht werden, denn hinterher wenn Daten schon eingetragen sind Änderungen zu machen wird meist sehr aufwändig. Also alle Felder erfassen, Zusammenhänge zusammentragen, Redundante Daten in Tabellen vermeiden und in separate Tabellen auslagern, usw. Husch Husch bringt dich da nicht zu etwas vernüftigem.
Bitte warten ..
Mitglied: 132895
14.04.2017, aktualisiert um 17:34 Uhr
Jede Tabelle bekommt seine eigene ID Spalte die deren KEY ist in der Auftragsdetails-Tabelle hast du dann zusätzlich als Fremdschlüssel die AuftragsID aus der Tabelle Aufträge und die ArtikelID aus der Artikeltabelle ganz einfach!

Du brauchst halt noch etwas bis du es verstanden hast. Belese dich zu relationalem Datenbankdesign dann verstehst du's. Dazu gibt's im Web tausende Seiten.
Bitte warten ..
Mitglied: endada
14.04.2017 um 17:39 Uhr
Meinst du so wie im folgenden Bild?
Bitte warten ..
Mitglied: 132895
14.04.2017, aktualisiert um 17:54 Uhr
Ein ganz einfaches Beispiel (ohne Anspruch auf Vollständigkeit, da gibt es noch viel mehr was man hier nicht alles im Zeitrahmen besprechen kann)
screenshot - Klicke auf das Bild, um es zu vergrößern

Du solltest vielleicht mal hier weiterlesen:
http://www.access-tutorial.de/tabellen/nmbeziehung.htm

Ich bin jetzt raus.
Bitte warten ..
Mitglied: endada
14.04.2017 um 17:54 Uhr
sorry, hatte dir das falsche Bild geschickt.

Ja genau so wie im Beipsiel habe ich das auch gemacht.

Muss jetzt jetzt noch i.wie Verweise auf die entsprechenden Schlüssel machen mittels Nachschalge-Assistenten?
bezieh1 - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: 132895
14.04.2017, aktualisiert um 17:56 Uhr
Muss jetzt jetzt noch i.wie Verweise auf die entsprechenden Schlüssel machen mittels Nachschalge-Assistenten?
Ja, wenn du das direkt mit dem Nachschlageassistenten machst trägt er die Beziehungen sowieso von sich aus schon automatisch ein.

Viel Erfolg weiterhin.
Ciao.
Bitte warten ..
Mitglied: endada
14.04.2017 um 17:57 Uhr
Danke dir.
ciao
Bitte warten ..
Mitglied: endada
14.04.2017 um 19:14 Uhr
Sorry Leute,
aber mit den Tutorials etc. komme ich nicht weiter.

Ich versuche nochmal mein Problem zu erklären:

Undzwar habe ich soweit alle nötigen Tabellen und Beziehungen.
Aber wie bekomme ich Access dazu, dass es bei gleicher Kundennummer und gleichem Bestelldatum keine neue Auftragsnummer anlegt, sondern merkt das gleichzeitig mehrere Produkte von demselben Kunden bestellt werden und somit einfach die bestellten Produkte des Kunden unter der gleichen Auftragsnummer auflistet/ speichert????

Hab es auch mit join und inner join probiert, aber erfolglos
Bitte warten ..
Mitglied: 132895
LÖSUNG 14.04.2017, aktualisiert um 19:23 Uhr
Indem du eine Subform anlegst, die Subform mit der MainForm anhand der Auftragsnummer beider Tabellen verknüpfst => Grundkurs Access ist da dringend fällig

Schau dir dir Demo-Datenbanken von Access an da siehst du es wie es geht.
Bitte warten ..
Mitglied: 132895
14.04.2017, aktualisiert um 19:27 Uhr
Hier siehst du auch noch mal detailliert wie es geht!
Bestellverwaltung [Access im Unternehmen]
Bitte warten ..
Mitglied: Penny.Cilin
14.04.2017 um 21:22 Uhr
Doppelposting Vorheriger Beitrag kommt nicht gut.

Kann jemand den oben genannten Beitrag löschen?

@endada: Warum hast Du Deinen ersten beitrag nicht in die richtige Kategorie verschoben und stattdessen einen neuen erstellt?


Gruss Penny
Bitte warten ..
Mitglied: endada
14.04.2017 um 22:10 Uhr
Sorry,
dachte ich könnte den nicht verschieben.


MFG
Bitte warten ..
Mitglied: 132895
20.04.2017 um 17:01 Uhr
Wenn's das dann war, den Haken nicht vergessen.
Bitte warten ..
Heiß diskutierte Inhalte
Ubuntu
HAProxy-Wi: Installation des Pakets geht nicht - ich hätte keine enabled Repos
itnirvanaFrageUbuntu37 Kommentare

Hallo, von der Seite möchte ich gerne HAProxy-Wi installieren ich führe das hier aus Dann kommt -> There ar ...

Multimedia
Fernseher im Empfang GEMA-pflichtig?
CaptainDuskyFrageMultimedia27 Kommentare

Guten Tag, wenn ich in einer Firma einen Fernseher im Empfang betreibe, dort aber nur Nachrichten laufen lasse, ist ...

LAN, WAN, Wireless
Wlan Messgerät
gelöst fizlibuzliFrageLAN, WAN, Wireless23 Kommentare

Hallo, gibt es erschwingliche Messgeräte um vorhanden W-Lan ausleuchtungen in ihrer Signalstärke und Bandbreite zu messen. Es sollen einfache ...

Microsoft
Failover Cluster Network
samreinFrageMicrosoft21 Kommentare

Hallo zusammen, toller Freitag heute vielleicht kann mir jemand unter die Arme greifen. Ich habe einen Failover Cluster gebaut. ...

Windows Server
PowerShell Script für MailVersand mit Anhang
gelöst klausk94FrageWindows Server20 Kommentare

Hallo Zusammen, ich bin aktuell etwas am verzweifeln an einem PS Script für den Emailversand Das Script funktioniert, jedoch ...

Router & Routing
Kaufempfehlung WLAN Router mit VLAN Unterstützung
ccreccFrageRouter & Routing19 Kommentare

Hallo zusammen, ich wollte mal nach einer Kaufempfehlung für einen WLAN Access Point mit halbwegs vernünftiger VLAN Unterstützung fragen. ...

Ähnliche Inhalte
Datenbanken

MS Access - SQL Datenbank - Alle SPalten werden mit GELÖSCHT angezeigt

harald.schmidtFrageDatenbanken1 Kommentar

Hallo Leute. Ich habe folgendes Problem: - SQL Server 2016 - eine db - paar tabellen - greifen darauf ...

Datenbanken

Hilfe in MS Access

endadaFrageDatenbanken2 Kommentare

Hey alle zusammen, ich habe folgendes Problem: Ich versuche eine Datenbank mit Access zu erstellen, die wie im Screenshot ...

VB for Applications

MS Access 2019 Diagramm

gelöst AxelKorteFrageVB for Applications

Hallo allerseits, ich stoße in meinem Script auf zwei Fehler beim Aufbereiten eines Diagramms im Access 2019. Ich weiß ...

Microsoft Office

Access 2016: Datenbank plötzlich defekt

gelöst honeybeeFrageMicrosoft Office9 Kommentare

Hallo, folgendes Problem: Heute morgen hatte ich an der betroffenen Datenbank gearbeitet und sie dann ordnungsgemäß geschlossen. Zwei Stunden ...

Microsoft Office

MS Access - DAO Recordset Methode

jojo0411FrageMicrosoft Office2 Kommentare

Hallo Leute, Ich habe in einer Access Datenbank 3 Tabellen und eine Abfrage. Tabelle tbl_invoice enthält Rechnungsköpfe Tabele tbl_invoiceline ...

Microsoft Office

MS Access : keine zuverlässige Textmarke

gelöst Chichox3FrageMicrosoft Office1 Kommentar

Hallo zusammen ich habe eine Mitarbeiterin wo beim öffnen einer Datei mit MS Access immer die Fehlermeldung erhält. kennt ...

Berechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid CloudSmall Business ITSmall Business IT