Datenbank mit Artikelstamm und historischen Preisen (Datum)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Datenbank mit Artikelstamm und historischen Preisen (Datum)

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von CeeKaa » Do, 27.10.2011 14:16

Sorry für Doppelpost, aber durch Probieren bin ich etwas weitergekommen ;)

Subformular ist drin!
Artikelnummern wurden verknüpft, damit im Subformular nur die Preis- und Lieferanteninformationen drin stehen.

ABER :D

Die Datensatzsuche zeigt aber anstatt 3 Datensätze (= 3 Artikel) immer noch 5 Datensätze (= 5 eingetragene Preise).
Hier will ich ja die andere Lösung herbeirufen, aber da tappe ich bis dato im Dunkeln.
Hier will ich 3 Artikel zur Auswahl haben, und in der Tabelle die Preis- und Lieferanteninformationen stehen haben.

Datensatz 4711 -> Im Subformular 3 Datensätze
Datensatz 4712 -> Im Subformular 2 Datensätze
Datensatz 9990 -> Im Subformular 0 Datensätze

Eben auch den Datensatz 9990.

Wie bekomme ich das bewerkstelligt?

VIELEN VIELEN DANK :)

Gruß
Christoph / CeeKaa

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von CeeKaa » Do, 27.10.2011 09:41

komma4 hat geschrieben:Probiere doch mit einer "Spiel"-Datenbank erstmal aus, was wie funktioniert.
Ich spiele ja rum :D
Habe ja deine nachgebaut, um das auch zu verstehen.
Bloß die Erstellung von Formularen ist ne Wissenschaft für sich.

Aber es ist ja nicht so elementar, dass man die Artikelnummer eingeben kann und auf den Aktualisieren-Button drückt.
Geht ja auch über die Datensatzsuche. Werde das dann über den Schritt machen.

Womit mir sehr geholfen wäre, wäre ein Subformular :)

An deiner Datenbank habe ich das mal per Formular-Assistent versucht.
Er baut nur leider keine Beziehung auf.

In deiner Datenbank gibt es 3 eingetragende Artikel (4711, 4712 und 9990 als Artikelnr.)
Zudem wurden für Artikel 4711 drei Preise eingetragen und für Artikel 4712 zwei Preise hinterlegt.

Nun möchte ich oben im Formular nur meine Artikel angezeigt bekommen, sprich 3 Datensätze.
Und im Subformular, welches als Tabelle erstellt wurde, unter den Artikeln die Preis-Datensätze. Sprich zu 4711 hätte ich gerne unten in der Tabelle dann die 3 Preise und zu 4712 zwei Preise. Zu 9990 dann eben 0.

Das habe ich noch nicht hinbekommen.
Kannst du mir einen Tipp geben, was ich nicht beachtet habe, und ob das so überhaupt möglich ist. Sollte doch, oder?

Besten Dank
Gruß Christoph / CeeKaa

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von komma4 » Di, 25.10.2011 18:14

CeeKaa hat geschrieben:Die Tabelle "filter" habe ich nicht verwendet.
Wird diese überhaupt benötigt?
Ja, die Auswahl aus der Listbox "Artikel" schreibt die id_artikel dort hinein.

Die Unterformulare reagieren über diese ID

CeeKaa hat geschrieben:Die Suche ist in deinem Formular nur über den Artikelnamen verfügbar.
Ein Listenfeld lässt keine Eingabe zu.
Du kannst die Anzeige im Listenfeld aber umstellen...
Willst Du manuell was eingeben musst Du einen anderen Typ Kontrollfeld nehmen.

CeeKaa hat geschrieben:Weitergehend möchte ich auch Änderungen an den Feldern "Artikelname" und "Artikelbezeichnung" vornehmen.
==> Neues Formular, welches Änderungen an Artikelstamm erlaubt


Probiere doch mit einer "Spiel"-Datenbank erstmal aus, was wie funktioniert.

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von CeeKaa » Di, 25.10.2011 10:17

Vielen vielen Dank.

Also damit komme ich schon weiter.
Habe nur zum Verständnis die Tabellen selber erstellt, und die Beziehungen aufgebaut.

Die Tabelle "filter" habe ich nicht verwendet.
Wird diese überhaupt benötigt?


Nächster Hilfeschrei :(
----------------------------

Abfragen sind ja kein Problem, aber bei den Formularen tappe ich im Dunkeln.

Bei bestehenden Artikeln möchte ich nur die Artikelnummer (10-stellig VAR CHAR) eintragen, und per Aktualisieren, den Datensatz angezeigt bekommen.
Hier dann etwas abändern etc. pp. Preise bspw.
Die Suche ist in deinem Formular nur über den Artikelnamen verfügbar.
Weitergehend möchte ich auch Änderungen an den Feldern "Artikelname" und "Artikelbezeichnung" vornehmen.

Dann wollte ich fragen, ob man im oberen Formularbereich, die Artikelsuche einbringen kann in Spalten und/oder Blockform.
Darunter eine Tabelle einfügen mit den unterschiedlichen Lieferanten, welche diesen Artikel führen mit den entsprechenden Preisen.
Das dann sortiert nach Datum und natürlich dem Preis.

Das wäre genial.
Des wäre es dann, und ich müsste nicht nerven. Und der Chef nicht mich :lol:

Sage mal ganz laut "DANKE" :)

Besten Dank und Grüße
Christoph / CeeKaa

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von CeeKaa » Di, 18.10.2011 13:33

Wow, das geht ja flott. :D
Konnte noch gar nicht reingucken, um die erste Antwort zu lesen, und es steht schon ein 2. da mit ner weiteren Datenbank. Klasse!


Also eigentlich haben wir keine Warengruppe. Kann aber nicht schaden, wenn man eine vergibt.
Die Artikelnummer 110 21234 ist in der Tat so aufgebaut, dass die ersten 3 Stellen eine Art Warengruppe und die letzten Stellen den Artikel näher definieren.
Es soll jetzt aber nichts großartiges geändert werden, und beibehalten werden.
Man kann ja als Artikelnummer die 110 21234 eintragen als VARCHAR und noch als Warengruppe 110 eintragen.


Weshalb ist eigentlich die Tabelle tab_filter da?
Da bin ich noch nicht ganz hinter gestiegen.


Wollte mir gerade mal per Abfrage einen oder mehrere Datensätze ansehen, und sehe gerade einen Dummy.
Besteht die Möglichkeit dass du mir den erstellst, sodass ich sehe, was ich alles für Sachen verwenden muss, mit irgendwelchen Abfragekriterien.


Per Formular wollte ich zudem Datensätze bearbeiten oder ergänzen, da bringt er aber ständig Fehlermeldungen, und ich habe keinen Schimmer weshalb.


Ich merke gerade, dass ich noch weniger Ahnung von der ganzen Materie habe, als ich dachte.
Aber diese Datenbanken helfen mir schon ordentlich auf die Sprünge.
Schonmal vielen lieben Dank!!!

Beste Grüße
Christoph / CeeKaa

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von komma4 » Di, 18.10.2011 11:46

Hab's mir einfach gemacht:
Beziehungen, V2
Beziehungen, V2
Beziehungen-de50559-V2.png (14.66 KiB) 2734 mal betrachtet
tab_artikel
Tabelle Artikel
Tabelle Artikel
Tabelle_ArtikelNr-de50559-V2.png (7.93 KiB) 2734 mal betrachtet
tab_preise
Tabelle Preise, V2: per Lieferant und Datum
Tabelle Preise, V2: per Lieferant und Datum
Tabelle_Preise-de50559-V2.png (9.3 KiB) 2734 mal betrachtet


Eindeutigkeit eines Preises zum "ab_datum"

Code: Alles auswählen

ALTER TABLE "tab_preise" ADD CONSTRAINT constr_uniq_artikel_datum UNIQUE ("id_artikel","dat_gültig_ab");

So etwa...
Artikelstamm (historisch) V2.odb
HSQLDB Artikelstamm, Version 2
(18.41 KiB) 160-mal heruntergeladen
Kommst Du damit weiter?

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von komma4 » Di, 18.10.2011 10:54

CeeKaa hat geschrieben:Ist die FK-Referenz zum Lieferanten schon in der Preis-Tabelle?
Nein, wollte erst mal Deine Reaktion abwarten.
Ändern kannst Du das doch auch, oder?
CeeKaa hat geschrieben:Also das ich quasi ein Datum eintrage, ab welchem der Preis gültig ist.
01.06.2011 -> 15,37 €
01.08.2011 -> 17,73 €
01.10.2011 -> 18,82 €
Und der Preis, der ab 01.10.2011 gültig ist, dass ich den am heutigen Tag erst eintrage.
Möglich?
Klar, dann muss das Datum eben per Formular mit erfasst werden.

CeeKaa hat geschrieben:In der Artikel-Tabelle wird ja die Beziehung zur Lieferanten-Tabelle aufgebaut.
In der vorliegenden Version: ja.
Nach der von DPunch vorgeschlagenen Änderung geht's über die Preis-Tabelle.

CeeKaa hat geschrieben:Aber kann ich da Artikelnummern wie 110 21234 eintragen? Also mit einem Leerzeichen zwischen 3. und 4. Ziffer.
Nein, denn das wäre keine INTEGER-Spalte.
Möglich ist aber auch eine Spalte auf Basis VARCHAR - dann geht auch ein Leerzeichen. Soll das eine Warengruppe sein? Dann setzt man:

Tabelle: tab_artikel

Code: Alles auswählen

id, INTEGER, PRIMARY KEY
id_wg, INTEGER, references tab_warengruppen(id), PRIMARY KEY
usw.

und in den Formularen die Abzeige wie gewünscht, durch Zusammensetzen der Spalteninhalte.
Lässt sich meines Erachtens besser mit arbeiten (bspw. Filtern nach WG)

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von CeeKaa » Di, 18.10.2011 09:38

Nun bin ich wieder im Büro!
Vielen Dank für die tolle Datenbank :D So stell ich mir das (ungefähr) vor.


Ist die FK-Referenz zum Lieferanten schon in der Preis-Tabelle?


Lässt sich das Datum auch abändern?
Also das ich quasi ein Datum eintrage, ab welchem der Preis gültig ist.
01.06.2011 -> 15,37 €
01.08.2011 -> 17,73 €
01.10.2011 -> 18,82 €
Und der Preis, der ab 01.10.2011 gültig ist, dass ich den am heutigen Tag erst eintrage.
Möglich?


Weiter:
In der Artikel-Tabelle wird ja die Beziehung zur Lieferanten-Tabelle aufgebaut.
Kann man die Datenbank so umgestalten, dass zb. Artikel 4711 in der Vergangenheit (ab dem 15.04.2011) bei Lieferant A zum Preis von 5,47 € bezogen wurde.
Und nun der letzte Preis von 6,21 € (ab 15.10.2011) beim Lieferanten B.


Weitere Frage (danke für die Geduld :) ):
Das Feld id in der Tabelle tab_Artikel ist ja kein Autofeld.
Aber kann ich da Artikelnummern wie 110 21234 eintragen? Also mit einem Leerzeichen zwischen 3. und 4. Ziffer.


Und eine etwas komische Frage:
Fremdschlüssel kann ich nirgendswo definieren, per Eintragung, oder?
Nur mit der Eintragung einer Beziehung zu einem Primärschlüssel, richtig?


VIELEN VIELEN DANK
BESTE GRÜßE

Christoph / CeeKaa

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von komma4 » So, 16.10.2011 14:13

DPunch hat geschrieben:Die FK-Referenz zum Lieferanten gehört dabei allerdings in die Preise-Tabelle
Vollkommen richtig.

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von DPunch » So, 16.10.2011 13:47

Aloha

Die FK-Referenz zum Lieferanten gehört dabei allerdings in die Preise-Tabelle, um die Möglichkeit abzubilden, dass derselbe Artikel von unterschiedlichen Lieferanten (auch zu unterschiedlichen Preisen) angeboten werden kann, bzw. man z.B. bei einer Preiserhöhung des aktuellen Lieferanten nachschauen kann, ob man den Artikel nicht früher schonmal zu günstigeren Konditionen von einem anderen Lieferanten bezogen hat.
Die Preise-Tabelle kann dann ausserdem bei Bedarf noch zusätzliche Informationen aufnehmen wie garantierte Lieferfristen, Rabattmengen, evtl. Skonto-Konditionen etc., wobei das bei einem kleineren Betrieb womöglich zuviel des Guten wäre.

Re: Datenbank mit Artikelstamm und historischen Preisen (Dat

von komma4 » So, 16.10.2011 09:53

Willkommen im Forum.
CeeKaa hat geschrieben:Aber dann bin ich mittlerweile mit meinem Latein am Ende.
Vielleicht kann ich mit meinem "Grossen Latinum" etwas weiter helfen...


Habe Dir mal ein Beispiel erstellt.


Tabellenentwurf

  • Lieferanten - tab_lieferanten

„Einfache“ Tabelle mit id IDENTITY (autom. Besetzung) und den angegebenen Feldern.

Note: plz als VARCHAR(5) definiert, damit führende Nullen (bei deutschen PLZ) erhalten bleiben

  • Artikel - tab_artikel

id: kein Autofeld
Eindeutiger Artikel-Name („name“), wird durch folgende SQL-Anweisung sichergestellt:

Code: Alles auswählen

ALTER TABLE "tab_artikel" ADD CONSTRAINT constr_uniq_art_name UNIQUE ("name");
Verknüpfung zum Lieferanten über Schlüssel aus Tabelle „tab_lieferanten“
  • Preise – tab_preise
id: AutoID
id_artikel: Verküpfung zur Artikel-Beschreibung
preis: Dezimalfeld, 4 VK, 2 NK Stellen
ts_created: Zeitstempel
Automatisches Datum
Die Spalte ts_created (TIMESTAMP) soll automatisch, bei der Erfassung des Datensatzes, mit dem Zeitstempel gefüllt werden.
Dazu die folgende SQL-Anweisung über Extras>SQL... ausführen

Code: Alles auswählen

alter table "tab_preis" alter column "ts_created" timestamp default current_timestamp
  • Beziehungen
Bild


Formulare
Bislang nur ein Formular :)

frm_preis
Eine Auswahl in einem Listenfeld aktualisiert leider nicht die abhängigen Sub-Formulare... deshalb wird hier mit einer „Details aktualisieren“ Schaltfläche gearbeitet.
Bei Auswahl der Artkel-Beschreibung und Auslösen der Schaltfläche wird die zugehörende Artikel-ID in eine Filter-Tabelle geschrieben, und über diese das Beschreibungsfeld und der Dateninhalt des „Preis“-Dateinsatzes bestimmt.
Der eingegebene Preis wird beim Auslösen der Schaltfläche „Preis speichern“ geschrieben.

Abfragen
Vorerst nur eine...


Datenbank
Mit LO 3.4.3 und der internen HSQLDB entwickelt.
Ich empfehle für den produktiven Einsatz eine richtige DB! (MySQL, PostgreSQL)

Download: BASE-Datei Artikelstamm(historisch) Version 1

Kannst Du damit schon was anfangen?

Datenbank mit Artikelstamm und historischen Preisen (Datum)

von CeeKaa » Do, 13.10.2011 14:54

Guten Tag liebe Gemeinde!

Ich habe auf Arbeit momentan ein großes Problem.
Wir pflegen momentan unsere Artikel samt aller Informationen in einer Excel-Liste. Sehr aufwendig.

Nun möchte allerdings mein Chef zu den verschiedenen Artikeln die Einkaufspreise vergangener Tage, so eine Art Preishistorie.

Wäre klasse wenn jemand bisschen Zeit opfern könnte, und mir beim Entwurf helfen kann.
Habe schon selbst eine lange Zeit getüftelt, aber das hilft nix.

Habe auch schon auf dem Papier ein ERM versucht aufzuzeichnen, aber das funktioniert mit dem Normalisieren nicht wirklich.
Vom Beziehungen erstellen und deren Primär- und Fremdschlüsseln ganz zu schweigen.


Also folgende Attribute hätte ich, und bräuchte ich auch wieder ;-)


Artikelnummer
Artikelname
Artikelbeschreibung
Einkaufspreis
Datum des eingetragenen Einkaufspreises
Lieferant
Straße
PLZ
Ort


Daraus muss ich ja erstmal die 1. Normalform machen (da ja Artikelnummer mehrere eingetragene Einkaufspreise haben kann).
Aber dann bin ich mittlerweile mit meinem Latein am Ende.

Vielen Vielen Dank für die Hilfe.

Gruß
CeeKaa alias Christoph

Nach oben