Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst MS Access Datenbank

Mitglied: endada

endada (Level 1) - Jetzt verbinden

14.04.2017 um 14:41 Uhr, 1955 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 ..
Ähnliche Inhalte
Datenbanken

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

Frage von harald.schmidtDatenbanken1 Kommentar

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

Datenbanken

Hilfe in MS Access

Frage von endadaDatenbanken2 Kommentare

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

Microsoft Office

Access 2016: Datenbank plötzlich defekt

gelöst Frage von honeybeeMicrosoft Office9 Kommentare

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

Datenbanken

Excel Tabelle in Access Datenbank

gelöst Frage von Dr.CornwallisDatenbanken9 Kommentare

Liebe Gemeinde, ich muss aus einer Excel Tabelle Daten in einen Access Table importieren, nun möchte ich die Excel ...

Neue Wissensbeiträge
Humor (lol)

"Linux und 5 Gründe Warum man kein Windows verwenden sollte sondern Ubuntu Linux"

Tipp von Snowbird vor 11 StundenHumor (lol)8 Kommentare

Gerade gefunden. Ja, ist etwas älter, aber irgendwie lustig?

Humor (lol)

"Warum Linux in einer vernetzten Welt einfach keinen Komfort bietet!"

Tipp von Snowbird vor 1 TagHumor (lol)13 Kommentare

Ein interessanter Einblick warum Linux nichts für Geräteübergreifende Arbeit ist :)

Humor (lol)
Zuviel Speicher ist ungesund. :-)
Tipp von Lochkartenstanzer vor 1 TagHumor (lol)14 Kommentare

Moin Kollegen, Heute hatte ich ein ungewöhnliches Aha-Erlebnis: Über das Wochenende habe ich einen einen 6 Jahre alten Bare-Metal ...

Windows Update

KB4517297 verfügbar, behebt Fehler in VB6 VBA VBScript

Information von sabines vor 1 TagWindows Update

Das Update behebt mögliche Fehler in VB6, VBA und VBScript, die durch das Update KB4512486 vom August entstanden sind. ...

Heiß diskutierte Inhalte
Router & Routing
Deinstalliertes Geräte wird in FritzBox noch immer als verbundenes Gerät angezeigt
gelöst Frage von imebroRouter & Routing18 Kommentare

Hallo, in meiner FritzBox 7490 wird im Bereich "Funknetz" ein Gereät bei den verbundenen Geräten angezeigt, wobei ich nicht ...

Batch & Shell
PowerShell - Text an HTMLbody übergeben mit UTF-8 Kodierung
Frage von Pat.batBatch & Shell14 Kommentare

Hallo zusammen, ich stoße momentan auf folgendes Problem. Ich möchte mit meinem Skript E-Mails versenden. Text und Signatur samt ...

Sonstige Systeme
Ist es möglich ein ISDN-Telefon an einen analogen Anschluss anzuschließen?
Frage von cramtroniSonstige Systeme14 Kommentare

Also anders herum geht es ja, da gibt es ja diese Adapter von RJ11 auf TAE-F, aber gibt es ...

Humor (lol)
Zuviel Speicher ist ungesund. :-)
Tipp von LochkartenstanzerHumor (lol)14 Kommentare

Moin Kollegen, Heute hatte ich ein ungewöhnliches Aha-Erlebnis: Über das Wochenende habe ich einen einen 6 Jahre alten Bare-Metal ...