Hallo zusammen,
ich will es wohl nicht kapieren, bin auf dem Holzweg oder sonstwas :-)
Trotz viel lesen und gucken komme ich nicht zum Ziel. Knabbere am dem Problem schon ziemlich lange, aber es will bei mir nicht *klick* machen.
Jedenfalls bin ich nicht in der Lage meinen Wunsch in einer Datenbank zu definieren.
Ich möchte:
Meine Einkäufe erfassen mit Datum, Laden, Preis und Menge.
Monatlich einen Bericht ziehen, der mir ausgibt für was ich wie viel Geld ausgegeben habe.
Bei der Erfassung sollen existierende Artikel bereits erscheinen, gebe ich also Bu ein, soll die Butter bereits erscheinen, gibt es mehr Artikel mit Bu, will ich den benötigten auswählen können. Der dazu gehörige Preis soll dann auch auftauchen, ändert sich der Preis möchte ich den auch ändern können.
Neue Artikel mit Preis sollen hinzugefügt werden können.
Ich habe:
Datensätze idArtikelNr (automatische Vergabe), Artikel, Preis
noch ohne Laden, weil ich nicht weiss ob ich für die Läden eine extra Tabelle machen soll oder nicht, vermutlich aber doch
Wenn ich das mit Eurer Hilfe hinbekommen würde, wäre ich schon sehr glücklich :-)
Vielen Dank!
Dieter
verwende Access 2010
Hallo,
der Holzweg ist, dass Du Dir noch gar keine Gedanken um die Daten und deren Zusammenhänge im Vorfeld gemacht hast.
Wenn das Ziel der Db (nur) die Verwaltung der Einkäufe für ein Geschäft ist,
dann erfordert das auf Anhieb mindestens(!) solche Tabellen:
tblArtikel
tblLieferanten
tblBestellungen
tblBestellpositionen
tblLieferungen
und wenn Bestellungen für unterschiedliche Läden erfolgen sollen, fehlt eben auch noch
tblGeschäfte
mit entspr. den in u. st. Links 1 und 1a berücksichtigtem Aufbau gemäß den Normalisierungsregeln. (Das schließt die Definition von Beziehungen ein)
(wobei da halt dann klar zu stellen wäre, ob es gleiche Artikel für unterschiedliche Läden geben kann oder das getrennt abläuft. Die Zuordnung von Artikeln zu bestimmten Läden muß bestimmt werden können und erfordert somit eine eigene (zusätzliche) Tabelle. Das Gleiche gilt, wenn ein bestimmter Artikel von mehreren Lieferanten bezogen werden kann/muß.)
Datenpflege/eingabe erfolgt über entspr. aufgebaute Formulare , Datenausdrucke über Berichte. Die Formularerstellung erfolgt NACH der Tabellenerstellung , und erst erst auch danach die Erstellung der Berichte.
Die Auswahl von "Stammdaten" (z. B. eines Artikels in einer Bestellposition) kann z. B über ein Kombifeld passieren.
Insofern ist zunächst eine gründliche(!) Datenanalyse angesagt.
Womit Du das sagst, was ich auch immer lese: Vor der Datenbank steht deren Planung!
Da fängt das Problem schon an :-) Ich kann zum Beispiel auch keinen Hausbau planen, sehr wohl aber ein Lager, weil ich Lagerist bin.
Eine Datenbank kann ich auch nicht planen, wenn ich mich nicht damit auskenne. Ich habe wirklich schon viel an Theorie gelesen und komme dennoch nicht klar.
Möglicherweise fehlt es mir an abstraktem Denkvermögen :-)
Es soll eine Verwaltung der Einkäufe verschiedener Geschäfte sein. Kaufe meine Butter mal in A oder B
Artikel und Preis ist an ein bestimmtes Geschäft gebunden.
Butter gibt es in A und B aber zu verschiedenen Preisen.
Ich werde also wohl eine Tabelle mit Artikeln und Preisen für jedes Geschäft haben müssen.
Um Deinen Angaben zu folgen:
tblArtikelA ist klar und soll Artikel und deren Preise enthalten (für Laden A)
tblArtikelB (für Laden B)
...
tblLieferanten brauche ich nicht, die Läden sind meine Lieferanten, also nenne ich die tblLaden oder eben tblGeschäfte
tblBestellungen würde meinen Einkäufen entsprechen, also tblEinkauf
tblBestellpositionen sind die Artikel, die ich einkaufe
tblLieferungen? brauche ich die?
Hallo,
und da hast du den nächsten Fehler, den du zu vemeiden trachten musst ...
ZitatMöglicherweise fehlt es mir an abstraktem Denkvermögen
Die Planung einer Datenbank hat nichts mit Abstaktion zu tun sondern mit dem Verständnis von logischen Zusammenhängen ;)
ZitatUm Deinen Angaben zu folgen:
Naja, denen bist du offensichtlich nicht gefolgt...
ZitatIch werde also wohl eine Tabelle mit Artikeln und Preisen für jedes Geschäft haben müssen
NEIN, es gibt nur eine Tabelle mit Artikeln in denen der Artikel beschrieben ist.
Dazu gibt es eine Tabelle mit Lieferanten - egal wie du die dann benennen willst, das sind jene Aktionisten, die dir die Artikel liefern.
Wenn mehrere Lieferanten den gleichen Artikel liefern können, spricht man von einer n:m Beziehung, die über eine Zwischentabelle in 2x 1:n aufgelöst werden muss.
Diese Zwischentabelle enthält den Primärschlüssel der Lieferanten, den Primärschlüssel der Artikel, den Artikel-Preis und das Gültigkeitsdatum der Preisinformation.
Somit hast du die Möglichkeit zu sehen, welcher Artikel zu einem bestimmten Datum bei welchem Lieferanten welchen Preis hat oder hatte,
Du kannst im Fall deiner Bestellungen oder Einkäufe entscheiden welchen Artikel du von welchem Lieferanten beziehst .....
tblEinkauf und tblEinkaufPositionen werden unumgäglich sein da sonst keine Erfassung derselben möglich ist.
ZitattblLieferungen? brauche ich die
Wenn du jeden Einkauf per Bares am Ladentisch berappst brauchst du die nicht - wenn du Lieferungen erhältst, die per LFS bei dir eingehen und dann nach Eingang der Rechnung bezahlt werden,
würde ich dir schon anraten die Tabelle zu führen und in dieser die entsprechenden Infos abzulegen - sonst kommen dir die Finanzen durcheinander.
ZitatIch habe wirklich schon viel an Theorie gelesen und komme dennoch nicht klar
Dann möchte ich dir für den Fall, dass du vorhast dich öfters mit Datenbanken zu beschäftigen und möglicherweise dein Finanzglück damit zu wahren,
wärmstens ans Herz legen einen entsprechenden Kurs zu belegen um die unverständlichen Dinge im Frontalunterricht vermittelt zu bekommen.
Diese Emfehlung von DF6GL solltest du nicht außer Acht lassen .... !
Zitatmit entspr. den in u. st. Links 1 und 1a berücksichtigtem Aufbau gemäß den Normalisierungsregeln. (Das schließt die Definition von Beziehungen ein)
Die oberhalb allesamt abgegebenen Empfehlungen und Ratschläge bitte NICHT als Sarkasmus aufzufassen sondern als ernstgemeinte gute Ratschläge zu sehen.
HTH
Vielen Dank für Deine umfangreiche Antwort.
Ich werde versuchen die Vorschläge umzusetzen.
Es handelt sich um ein ganz privates Projekt, von daher gibt es auch keine Lieferscheine und alles erfolgt in Barzahlung.
Vermutlich werde ich mich nicht öfter mit Datenbanken beschäftigen, es sei denn, ich beginne zu verstehen UND habe den Wunsch ein neues Projekt anzugreifen.
Beides ist zur Zeit nicht der Fall :-)
Einen Kurs in MS-Office hatte ich bereits und habe auch umfangreiche Unterlagen über alle Programme. Bis auf Access habe ich alles verstanden :-/
Gruß, Dieter
Hallo,
ja, beginne mal damit und berücksichtige die Dinge, die wir hier schon angesprochen haben und jene Dinge, die in den Links von DF6GL zu finden sind.
Erstelle die Tabellen und stell dann mal das Ding hier komprimiert / repariert und gezippt rein.
Zitates sei denn, ich beginne zu verstehen
Du wärst nicht der erste, dem wir die Theamtik ein wenig näher bringen konnten.
Es liegt vor Allem an deinem Willen was dazu zu lernen und unseren Ausführungen und Empfehlungen Folge zu leisten... ;)
ZitatBis auf Access habe ich alles verstanden
Aaaaber hallo, das einzige Programm der Office-Palette, das selbsterklärend funktioniert :D :D :D ;D ;)
Hallo,
ZitatDu wärst nicht der erste, dem wir die Theamtik ein wenig näher bringen konnten.
Das macht mir Hoffnung :-)
ZitatEs liegt vor Allem an deinem Willen was dazu zu lernen und unseren Ausführungen und Empfehlungen Folge zu leisten...
Ich werde versuchen den Tips und Hinweisen zu folgen....
Zitat
Aaaaber hallo, das einzige Programm der Office-Palette, das selbsterklärend funktioniert
Hmmmm :-)
Nun, ich habe die Tabellen mal erstellt und sogar zwei Beziehungen.
Die Zwischentabelle habe ich einfach mal tblZwischen genannt.
tblEinkauf und tblPositionen hängen noch in der Luft rum.
Aber tatsächlich kostet mein Brot in (1) 2€ und in (2) 3€
Da scheint also was zu funktionieren.
Datenbank lege ich bei.
Gruß und Danke!
Dieter
[Anhang gelöscht durch Administrator]
Hallo,
bin ein wenig weiter gekommen und somit bereits in der Lage meine Kassenzettel zu erfassen.
Allerdings habe ich keine Ahnung, ob das so der richtige Weg ist
Ich bitte darum sich das mal anzusehen und mir Hinweise auf Fehler und Verbesserungen zu geben.
Gruß
Dieter
[Anhang gelöscht durch Administrator]