Doppelte Datensätze und Datum

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

aupex
Beiträge: 7
Registriert: Mi, 21.01.2009 20:27

Doppelte Datensätze und Datum

Beitrag von aupex »

Hallo,

ich bin gerade dabei mir eine Artikelliste meiner Warenbestände zu erstellen. Dabei habe ich folgendes Problem.
Da ich immer mal wieder gleiche Waren bekomme, diese aber dann zu anderen Preisen (heutzutage wird alles teurer) sollte jeweils nur der neuste Datensatz erhalten bleiben, und die anderen wahlweise gelöscht, oder in eine andere Tabelle verschoben werden.
Das Problem fängt schon mit dem Datum an, da ich es nicht hinbekomme immer das aktuelle Datum zu setzen.
Das nächste problem ist, dass ich einfach gar keinen Plan habe wie ich das Problem angehen könnte.

Ich hoffe ich hab mich halbwegs verständlich ausgedrückt.

Gruss

Aupex
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Doppelte Datensätze und Datum

Beitrag von keksi1970 »

Hi,

sagen wir mal so :

Nein, du hast dich nicht verständlich ausgedrückt.

ich könnte mir zwar vorstellen, was du vorhast, aber aufs Raten mag ich mich nicht Verlegen ;)

Versuche einmal folgendes :

ich benutze : (Betriebssystem/OOo-Version)
meine Idee : ich möchte gerne (dieses und jenes) Ergebnis bekommen, wenn ich (folgendes) mache.
Kenntnisse : Datenbanken (welche) / Office-Programme (welche) / VBA/Basic Programmierung ?

nicht böse sein, aber ein Forum von Freiwilligen (Zitat von den netten Menschen hier :D ) erfordert eine Beschreibung des Problems auf etwas genauere Art.
Zur Lösung :

Angenommen du möchtest eine Datenbank mit deinen Artikeln erstellen, welche du entweder direkt, oder über ein Formular, oder über makro-Programmierung oder sonstwie eingibst, mit Artikeln, deren Preise sich evtl erhöht, verbilligt oder deren Konditionen sich verändert haben, "UPDATEN", gibt es in SQL den Befehl "UPDATE" (funktioniert auch in Base)


Literatur : Als Anfänger in Sachen Datenbank kann ich dir Thomas Krummbeins " Datenbanken mit OOo 3.01" empfehlen, was du als Fortgeschrittenenr an Literatur benutzt = k.a (bin ja auch noch Anfänger)
Dazu vielleicht Makroprogrammierung oder allgemein den Umgang mit OOo (Nützlichles unter den festgemachten Threads in den meisten Unterforen :) )

Ansonsten empfehle ich, posxte dein Problem detailiert, füge evtl einen Dateianhang hinzu, und die netten Menschen hier werden bestimmt versuchen, dir einen Lösungsweg zu zeigen (mit extrem vielen Beispielen, so wie ich eBayer kenne :P )

LG
Andreas
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Doppelte Datensätze und Datum

Beitrag von eBayer »

Hallo Andreas (keksi1970),
danke für die Blumen, aber das hier ist nicht mein einziges Hobby.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
aupex
Beiträge: 7
Registriert: Mi, 21.01.2009 20:27

Re: Doppelte Datensätze und Datum

Beitrag von aupex »

So.
Also mein OS ist Win Vista, darauf läuft Openoffice 3.0
Das Ergebnis, bzw meinen Wunsch, hast du sehr gut beschrieben -> mir hat der begriff updaten gefehlt.
Ich möchte die Daten über ein Formular eingeben (bisher Standardformular mit dem Assistenten erstellt).
Später werde ich noch eine Funktion zum Suchen und ausgeben über ein Formular hinzufügen.
Die Ganzen Artikel haben eine Artikelnummer, die allerdings nicht fortlaufend ist, also kein Autowert, da ich die Artikelnummern von meinen Lieferanten übernehme um leichter nachbestellen zu können.
Da sich die Preise immer mal wieder ändern (bestes Bsp. aus meinem Warenbestand momentan : Tabakwaren) sollten bei erneuter eingabe der Daten die bisherigen Preise überschrieben bzw. upgedated werden.
Kenntnisse....: Ich kenn mich ziemlich gut mit Tabakwaren aus :lol:
SQL und VBA <= 0
Base... ein paar Beispieldatenbanken (was man halt so als Tutorial findet), aber nix wirklich tiefergehendes. Ich kenne aber die groben züge (d.h. ich verwechsle nicht unbedingt eine Tabelle mit einer Abfrage oder so.) Tiefergehende Kenntnisse habe ich allerdings NOCH nicht. Bin aber lernwillig.
Werd mich bezüglich der Makro bzw. allg. Programmierung mal durchs Forum kämpfen, Ich dachte nur vielleicht hat jemand eine ähnliche DB aufgebaut und kann kleine Hilfestellungen geben.
An Beispielen, könnte ich nur meine DB uploaden, wobei ich mich allerdings ein bisschen Schäme, da sie wirklich ziemlich einfach bzw. undurchdacht gestrickt ist (hab zwar einen Plan, aber keine Ahnung wie umsetzten).

Ich hoffe das war schonmal etwas deutlicher ausgedrückt.

Gruss

ps. Danke für den Literaturtipp. Werd ich mir mal ansehen.
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Doppelte Datensätze und Datum

Beitrag von keksi1970 »

hi,

also ich wollte dich nicht niedermachen bez. der Kenntnisse, aber es ist eigentlich immer gut zu wissen, wie man etwas erklärt, so daß der Gegenüber das auch versteht :D

Mal ganz Kurz :

1. fange neu an mit deiner Datenbank
2. setze dir Ziele ala :
was will ich Eingeben (Lieferant?verschiedene)/Neue Artikel?/Kunden?/Bestellungen beim Lieferanten?/Bestellungen des Kunden?/ Rechnungen vom Lieferanten/an den Kunden?/) Dir fällt bestimmt noch mehr ein, welches nach dem Erstellen der Datenbank dann nur noch schwer zu realisieren ist (vom Tabakgeschäft hab ich wenig Ahnung, ausser als Konsument ;) )

3. zu Schämen gibts hier nix, ich habe mit einer Tabelle und einem Formular angefangen, um dann darauf zu kommen, daß ich mir vorher Gedanken machen sollte, welche Daten ich wo brauche und warum

4. um Bsp Preise von Artikeln in deiner Datenbank - Tabelle zu ändern

UPDATE <Tabellenname> SET <Preis> = <Preis> * 1,10 (Erhöhung um 10%)

wenn du nicht alle Preise erhöhen möchtest, brauchst du Auswahlkriterien, Beispielsweise hast du deine Tabelle um ein Merkmal erweitert (geschnittener Tabak) oder (Filterzigaretten), so würde der Befehl

UPDATE <Tabellenname> SET <Preis> = <Preis> * 1.10 WHERE <Merkmal> = 'Filterzigaretten' (Erhöhung um 10% nur bei Filterzigaretten)

die Bezeichnung in den <> stellen Tabellen/Spaltennamen dar, die Durch " gekennzeichnet werden.
einzugeben sind diese Befehle unter Extras>Sql
Wichtig ist der Datentyp, also Artikelnummern als Integer(Ausser wenn du auch Buchstaben drin hast ;) ) definiert, während die Beschreibung als Text formatiert sein sollte usw.

als Suchbeispiel lade ich mal meine Test.odb hoch, die beinhaltet eine kleine "Suchfunktion" oder auch Auswahl.

Wie gesagt, ich habe mit einer Tabelle und 1 Formular angefangen, nach dem 4. Neuaufbau der Datenbank bin ich bei 28 Tabellen und 2 Dialogen(einer mit 36 Seiten) und ich habe das Gefühl, ich muß noch mal neu Anfangen. :D

also Versuche deine Datenbank so aufzubauen :
02_ArtikelStammDaten (Tabelle)
Artikelnummer (Integer bei ganzen Zahlen/Text bei Kombinationen)
Bezeichnung(Text)
Einkaufpreis(Double)
Verkaufspreis(Double)
Lieferantennummer(Integer)

02_LieferantenStammDaten
Lieferantennummer(Integer)
Bezeichnung(Text)
Adressdaten(Text)
usw.

03_Lager
Artikelnummer(siehe oben, sollte das gleiche Format wie bei den Stammdaten haben)
Lagermenge(Double, zum Rechnen)
Mindestbestand(Double, zum Rechnen)

!!
01_ArtikelHilfsTabelle
ID(Integer) Wert = 0
Artikelnummer(siehe oben)

01 bezeichnet eine Hilfstabelle (brauchst du zum Suchen von Artikeln oder Lieferanten (bei Lieferanten einfach 01_LieferantHilfsTabelle erstellen, ID = 0 und die Spalte LieferantenID als Integer)
02 bezeichnet Stammdaten, die sich nur selten ändern (Preiserhöhung/neuer Lieferant oder Kunde)
03 sind laufende Daten, die sich dauernd ändern
Das dient allerdings nur der Optik und Schnelligkeit, da ICH gerne solche Tabellen untereinander stehen habe, statt wild durcheinander (also nicht alphabetisch sortiert :D )

Damit solltest du bis morgen beschäftigt sein :D

LG Andreas

btw : guck dir die Test-datei mal in ruhe an, vielleicht kannst du daraus zumindest die Suchfunktion unter Einbeziehung der Hilfstabelle erkennen und verwirklichen:)

EDITH sagt : ich darf keine Anhänge mehr hochladen, also guckst du hier : viewtopic.php?f=8&t=23703#p101819
aupex
Beiträge: 7
Registriert: Mi, 21.01.2009 20:27

Re: Doppelte Datensätze und Datum

Beitrag von aupex »

Kein Problem, habs auch nicht als niedermachen angesehen.
Ich denke mal ich bin damit wirklich bis min. morgen beschäftigt.
Allerdings kann ich es kürzer halten, da ich nur einen Lieferanten habe und keine Kundentabelle benötige.
Die preise sollen sich allerdings nicht um % erhöhen, sondern wenn ich meine Rechnung eintippe (also als erstes die Artikelnummer) sollte der dazugehörige Artikel erscheinen, so dass ich nur noch den Preis ändern muss. (ich erhalte jede woche Ware und es ändert sich manchmal nur bei 10-20 Posten der Preis).
Es sollen also nicht alle Artikel erhöht werden, sondern nur einzelne.
Anzeigen sollte es mir den Artikel nach eingabe der Artikelnummer, damit ich sehe, ob es noch der gleiche Preis ist, oder ob ich den Datensatz neu erfassen muss.
Die Anzeige sollte am liebsten natürlich nach bestätigen durch die Entertatste erfolgen. Dieses Problem lässt sich allerdings durch Sprung auf Aktualisiern und erneutem Bestätigen sicherlich lösen (wird ausprobiert).

Bis dahin mal danke

(Könnte also gut sein, dass die DB grösser wird als gedacht, hab da noch den Einfall ein Inventurmodul Einzubauen... :D )

Gruss
Antworten