🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Ich brauche Tipps von Profis

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
4sb3st
Beiträge: 7
Registriert: Do 11. Sep 2014, 09:17

Ich brauche Tipps von Profis

Beitrag von 4sb3st » Sa 18. Okt 2014, 14:10

Hallo geschätzte Community!

Ich bin absoluter Neuling im Bereich der LO Base Datenbanken. Ich stehe im Moment am Anfang meines Projektes und stehe bereits vor einigen Fragen, die nur die reine Organisation der Datenbank betreffen. Handbücher und Beispieldatenbanken habe ich alle studiert, aber irgendwie bin ich mit meinen Ergebnissen nie so zufrieden, dass ich sage, jawohl so mache ich das. Deswegen die Bitte um Tipps und ANregungen, wie ich das am besten organisiere. Folgende Punkte:

-Welche tabellen sind sinnvoll, welche nicht?
-Welche müssen noch hinzugefügt werden?
-Wie setze ich die Beziehungen sinnvoll?

Zur Hintergrundinfo: Ich möchte eine Datenbank entwerfen, in der jeder Daten einsetzen kann, ohne große Ahnung davon zu haben. Sprich es muss so einfach, wie möglich gestaltet sein. Später kommt noch ein Eingabeformular und so weiter und so fort. So weit bin ich aber noch nicht :)
Bei der Datenbank geht es um einen Auslieferungsdienst. Hier sollen Daten erfasst werden, welche Tour fährt wieviele Kilometer. Um dann später über die gesammelten Daten eine Statistik auszugeben. Wichtig ist mir hierbei, dass man wenig Daten doppelt erfasst, wie z.B. die Tour, die eigentlich immer die gleiche Bezeichnung hat, nur der Fahrer wechselt ab und zu. Ebenso soll der Fahrer immer eindeutig sein.

Ich bedanke mich im Voraus für Eure Tipps und Anregungen.
Dateianhänge
test.rar
(5.19 KiB) 318-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Ich brauche Tipps von Profis

Beitrag von F3K Total » Sa 18. Okt 2014, 18:57

Hi,
habe deine Datei mal etwas umgebaut, viel Spaß beim Erforschen.
Gruß R
Dateianhänge
TOURDATEN.rar
(20.91 KiB) 288-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

Acco
Beiträge: 94
Registriert: Fr 31. Jan 2014, 16:41

Re: Ich brauche Tipps von Profis

Beitrag von Acco » So 19. Okt 2014, 11:41

Hallo,

in der TOURDATEN-DB ist eine Kleinigkeit durchgerutscht, oder vielleicht versehentlich nicht die finale Version hochgeladen worden:

Im Formular "01_FAHRZEUGE_ERSTELLEN" funktioniert im "MainForm_Grid" das Listenfeld "Marke" nicht. Da muß "Gebundenes Feld" von "1" auf "0" geändert werden, sonst ist die Auswahl leer und eine Fehlermeldung erscheint. Wenn da im SQL-Befehl noch "DISTINCT" eingefügt wird

Code: Alles auswählen

"SELECT DISTINCT "Marke" FROM "FAHRZEUGE"
zeigt das Listenfeld jede Marke auch nur einmal an.

Gruß acco
openSUSE Tumbleweed - LibreOffice 24.8.2.1

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Ich brauche Tipps von Profis

Beitrag von F3K Total » So 19. Okt 2014, 12:05

Hi Acco,
Acco hat geschrieben:Im Formular "01_FAHRZEUGE_ERSTELLEN" funktioniert im "MainForm_Grid" das Listenfeld "Marke" nicht. Da muß "Gebundenes Feld" von "1" auf "0" geändert werden, sonst ist die Auswahl leer und eine Fehlermeldung erscheint.
Stimmt, weil ich mit ApacheOpenOffice gearbeitet habe. Besser wäre vermutlich, auch hier ein Kombinationsfeld zu verwenden, dann hat man keine Kompatibilitätsprobleme.
Ist wirklich Bullshit, dass sich die Listenfelder in AOO anders verhalten als in LO.
Acco hat geschrieben:Wenn da im SQL-Befehl noch "DISTINCT" ...
Stimmt auch, hatte ich vergessen.
Anbei nun die "distinktierte" und mir einem Kombinationsfeld ausgestattete Version.
Danke und Gruss
R
Dateianhänge
TOURDATEN.rar
(23.09 KiB) 292-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

4sb3st
Beiträge: 7
Registriert: Do 11. Sep 2014, 09:17

Re: Ich brauche Tipps von Profis

Beitrag von 4sb3st » Mo 20. Okt 2014, 11:49

Hallo und großen Dank an die Beteiligten.

Ihr habt mir auf jeden Fall geholfen. Einige Herausforderungen ergeben sich jetzt bei mir:
  • -bezüglich der Tabelle FAHRER: so, wie das jetzt ist, können doppelte Namenkombinationen auftauchen. (Zwar durch die Fahrer.ID und evtl. Geburtstdatum identifizierbar, ist aber nicht nach meinen Wünschen) . Ich stelle es mir so vor, dass man schon bei der Eingabe, bzw. Speicherung der Namen gezwungen wird doppelte Namenkombinationen zu vermeiden. Macht es da Sinn die Primärschlüssel bei Nachname und Vorname zu setzen? Als Beispiel, man hat zwei Müller, Franz. Ich stelle mir vor, dass man dann nur im Nachnamen durchnummeriert. Müller I, Franz und Müller II, Franz. Ist natürlich für Aussenstehende dann immer noch nicht zu ersehen, wer wer ist, aber die DB ist ja auch nur für mich und meine Kollegen.
  • -bezüglich des Formulars FAHRZEUGE_ERSTELLEN: Ich habe zur Übung versucht ein ähnliches Formular zu erstellen, diesmal FAHRER_ERSTELLEN. Soweit auch ganz gut geglückt. Nur eins ist mir nicht gelungen. In FAHRZEUGE_ERSTELLEN auf der rechten Seite im Grid kann man die Einträge ja editieren. Bei Marke und Typ erscheint dann noch ein Listenfeld. Wie bekomme ich diese Auswahl im Listenfeld generiert? Ich habe zwar ein Listenfeld erstellen können, aber es war leer :) (macht in dem Formular wenig Sinn, aber ich möchte wissen, wie es funktioniert, zwecks Übung)
  • -bezüglich des Formulars TOURDATENSÄTZE_EINGEBEN: die Eingabe ist sehr mühsam, da man jedesmal alle Daten neu eingeben muss, nachdem man einen Satz abspeichert. Ich versuchte es über ein Unterformular, aber kläglich gescheitert.
  • Zum Hintergrund: Der spätere Ablauf wird so sein, dass der Fahrer über eine Woche seine Kilometerstände dokumentiert und reicht diese dann am Ende der Woche ein. Die Fahrer fahren zum größtenteil die gleiche Tour mit dem gleichen Fahrzeug in dieser Woche.
  • Nun wäre es praktisch, wenn Tour, Datum, Fahrer, Kennzeichen bestehen bleiben nachdem man den ersten Datensatz abgespeichert hat. Und beim nächsten Datensatz nur die nötigen Veränderung vornimmt.
Danke für die Hilfe und

Grüße von mir.
Dateianhänge
TOURDATEN_03.zip
(28.75 KiB) 315-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Ich brauche Tipps von Profis

Beitrag von F3K Total » Mo 20. Okt 2014, 22:45

Moin,
4sb3st hat geschrieben:Ich stelle mir vor, dass man dann nur im Nachnamen durchnummeriert. Müller I, Franz und Müller II, Franz.
Na, dann mach es doch so. Benenne die Nachnamen entsprechend um und schreibe statt Müller eben Müller I.
4sb3st hat geschrieben:Wie bekomme ich diese Auswahl im Listenfeld generiert?
Siehe Bild:
Kombinationsfeld.png
Kombinationsfeld.png (17.67 KiB) 5743 mal betrachtet
4sb3st hat geschrieben:Nun wäre es praktisch, wenn Tour, Datum, Fahrer, Kennzeichen bestehen bleiben nachdem man den ersten Datensatz abgespeichert hat.
Das geht, indem du ein Formular mit nur einem Datensatz als Serverformular (Hauptformular) verwendest, mit dem das Unterformular, in dem die Datensätze eingegeben werden verknüpft ist. Siehe Anlage.
Gruß R
Dateianhänge
TOURDATEN.rar
(22.29 KiB) 305-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

4sb3st
Beiträge: 7
Registriert: Do 11. Sep 2014, 09:17

Re: Ich brauche Tipps von Profis

Beitrag von 4sb3st » Fr 24. Okt 2014, 08:14

Sooo, guten Morgen erstmal.

Ich fange langsam an, mich in die ganzen Strukturen reinzudenken. :) Nun begann ich eine Datenbank komplett neu aufzusetzen, mit den hinzugewonnen Erkenntnissen, dank eurer Hilfe.

Nun stehe ich vor folgender Herausforderung:

Der Tabelle "FAHRER" habe ich eine Spalte "Datensatzänderung_Fahrer" mit Standardwert CURRENT_TIMESTAMP eingefügt. Wenn ich über das Formular "00_FAHRER_BEARBEITEN" einen neuen Fahrer anlege, dann setzt BASE den Standardwert in der Tabelle "FAHRER". So weit klappt es.

Nun das aber: Wenn der Fahrer nicht mehr aktiv ist, dann kann ich das auch über das Formular eingeben. Leider setzt BASE dann nach der Abspeicherung zwar das Austrittsdatum in der Tabelle "FAHRER" , aber keinen Zeit- und Datumsstempel.

Wie kann ich das lösen?

Vielen Dank
Dateianhänge
TOURDATEN_14.zip
(19.83 KiB) 298-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Ich brauche Tipps von Profis

Beitrag von F3K Total » Fr 24. Okt 2014, 15:51

Hi,
das geht mit der eingebetten HSQL-Version nur per Makro. Wenn Du allerdings aus deiner DB eine SPLIT-Datenbank (Frontend-Backend) machen würdest, was nicht ganz einfach ist, und statt der mitgelieferten HSQL-Version 1.8.10 auf die aktuelle 2.3.2 wechseln würdest, könntest du einen Trigger (ON UPDATE) verwenden.
Damit hast du dann aber nicht mehr die Möglichkeit, deine Tabellen und Ansichten mit OpenOffice zu bearbeiten.
Ich empfehle dir daher erstmal ein kurzes Makro zu verwenden.

Code: Alles auswählen

Sub S_MODIFY_ROW_UPDATE_DATE
    oF_FAHRER_BEARBEITEN = ThisComponent.drawpage.forms.F_FAHRER_BEARBEITEN
    oF_FAHRER_BESTAND = oF_FAHRER_BEARBEITEN.F_FAHRER_BESTAND
    odatAustrittsdatum = oF_FAHRER_BESTAND.datAustrittsdatum
    odatAustrittsdatum.commit
    sDate = Format(Now(),"YYYY-MM-DD HH:MM:SS")
    oF_FAHRER_BESTAND.updatestring(oF_FAHRER_BESTAND.findcolumn("Datensatzänderung_FAHRER"),sDate)
    oF_FAHRER_BESTAND.updateRow
End Sub
Damit die Makros laufen dürfen, stellst du unter Extras/Optionen/Openoffice.org oder LibreOffice.org/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.

Gruß R
Dateianhänge
TOURDATEN_14.zip
(23.3 KiB) 306-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

4sb3st
Beiträge: 7
Registriert: Do 11. Sep 2014, 09:17

Re: Ich brauche Tipps von Profis

Beitrag von 4sb3st » So 26. Okt 2014, 14:42

Hi!
Makros... auch so eine Geschichte, in die ich mich noch einarbeiten muss. Aber danke für das Makro, es funktioniert.

Nun nähere ich mich langsam meinem Ziel, die DB vorerst gebrauchsfertig zu machen. Nun fiel mir eben beim Rumtesten noch folgender Sachverhalt auf:

Das Formular "04_TOURDATENSAETZE_BEARBEITEN" habe ich so aufgebaut, wie von dir (F3K Total) vorgeschlagen, mit der Tabelle "SERVER" usw. Gebe ich direkt nach dem Öffnen des Formulars den ersten Datensatz ein, so übernimmt er die Daten (Tour, Datum, Fahrer, Kennzeichen - es geht auch ausschließlich nur um diese Daten) korrekt in die Tabelle "TOURENDATENSAETZE". Sobald danach im Eingabefeld etwas geändert, z.B. das Datum um einen Tag erhöht wird, und die Datensätze dann abgespeichert werden, so ist das Datum dann in "TOURENDATENSAETZE" nicht korrekt abgespeichert. Sondern mit dem Datum des ersten abgespeicherten Datensatzes. Ändere ich das Datum zum dritten Mal, so speichert er das Datum des 2. eingegeben Wertes. Also immer um einen Wert der tatsächlichen Eingabe versetzt irgendwie. Gleiches gilt für Tour, Fahrer und Kennzeichen.

Nach eingen Tests kann ich kein Problem erkennen, weil die Daten korrekt in "SERVER" stehen. Ebenso habe ich über den Formularnavigator versucht eine Lösung zu finden, bin aber leider zu Keiner gekommen.

Vielen Dank
Dateianhänge
TOURDATEN_14.zip
(31.93 KiB) 279-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Ich brauche Tipps von Profis

Beitrag von F3K Total » So 26. Okt 2014, 18:12

Tja,
da muss dann leider noch ein Button her.
Das Server Formular muss gespeichert werden, dann das Tourdatenformular aktualisiert werden, erst dann schlagen die Werte durch.
Könnte man auch per Makro machen, anbei eine Lösung ohne.

Gruß R
Dateianhänge
TOURDATEN_15.zip
(34.67 KiB) 299-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten