BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Klientendatenbank intern LO 5.2.7.2 Debian

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Benutzeravatar
lasser
Beiträge: 5
Registriert: Mo 29. Okt 2018, 17:09

Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von lasser » Mo 29. Okt 2018, 18:01

Moin!
Ich bin dabei für das KT-Atelier meiner Frau eine kleine Klientendatenbank zu basteln. Wohlgemerkt basteln, weil ich von Datenbanken nicht wirklich viel Ahnung habe. Sind alles keine Fremdworte für mich, aber kompliziertere Dinge gehen schnell über meinen Horizont.
Das, was ich bisher zustande gestoppelt habe - im Prinzip die abgewandelte Beispiel-DB aus dem Handbuch - hänge ich mal an. Im letzten Datensatz findet sich dann auch die ausstehende Wunschliste mit vorerst 3 Punkten ;-)

Ich hoffe, es ist in Ordnung, wenn hier im thread alle 3 Punkte abgehandelt werden, auch wenn das u.U. ein wenig durcheinander gerät hier.
1. Alter der Klienten anzeigen
Reichen würde hier YEAR( NOW()) - YEAR( "Geburtsdatum")
Es soll im Hauptformular "Klienten" im Feld Alter angezeigt werden.
Grundsätzlich funktioniert das, siehe Formular "Abfrage_Klienten", dort kann ich durch die Klienten klicken und das jeweilige Alter wird korrekt angezeigt.
Wenn ich dieses Formular in das Hauptformular "Klienten" kopiere, wird dort zwar das Alter des 1. Klienten angezeigt, aber beim durchklicken durch die Klienten ändert sich in dem Feld nichts…

2. Eine Suche nach Nachnamen mittels Eingabefeld und "Such!"-Button.

3. Im Unterformular sollen die mit dem jeweiligen Klienten aus dem Hauptformular bereits abgehaltenen Termine angezeigt werden, und zwar auf 2 verschiedene Weisen: Einmal die Gesamtanzahl der Termine, und in einem 2. Feld die Anzahl passend zum gerade ausgewählten "genutzem Angebot". Also ein Klient war schon 12 mal da (1. Feld zeigt "12") und hatte dabei 3x Ausdrucksmalen und 9x Kunsttherapie. Bei Auswahl eines Termins mit "Angebot" Ausdrucksmalen soll im 2. Feld "3" erscheinen… naja, ihr wisst schon…
SQL kann ja selber die Anzahl der passenden Einträge zählen. Sowas wie SELECT COUNT(*) FROM tabelle WHERE ID-Klient = X, es braucht also nicht extra irgendwo was mitgezählt werden.

Ich bin mir nichtmal sicher, ob ich das, was gewünscht ist, hier richtig formuliert habe, geschweige denn, dass ich in der Lage wäre, das umzusetzen.
Ich habe aber den Eindruck, dass zumindest Punkt 1 und 3 ohne großes Hexenwerk auskommen, also ohne Makros…
Bei Punkt 2 bin ich völlig ratlos.

Ich hoffe auf eure Hilfe.

LG
Frank
Dateianhänge
Klienten-DB.zip
(19.69 KiB) 127-mal heruntergeladen

F3K Total
Beiträge: 2412
Registriert: So 10. Apr 2011, 10:10

Re: Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von F3K Total » Mo 29. Okt 2018, 18:40

Hi,
habe jetzt keine Zeit mehr, aber zum ersten Problem:
Wenn du alle anderen Felder der Tabelle Klienten, neben der Berechnung des Alters in deine Abfrage Abfrage_Klienten einbaust, etwa so:

Code: Alles auswählen

SELECT "Klienten".*, YEAR( NOW( ) ) - YEAR( "Geburtsdatum" ) AS "Alter" FROM "Klienten"
, und dann diese Abfrage zur Datengrundlage deines Formulares MainForm machst, dann noch das Textfeld Alter in ein Formatiertes Feld umwandelst, kannst du das Alter diesem Feld zuordnen, und alles ist schick, siehe Anhang.
Lerne dringend den Formularnavigator kennen, da siehst du dann den Unterschied zwischen deiner und meiner Version.

Gruß R
Dateianhänge
Buntum-Test-3.zip
(20.73 KiB) 136-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

Benutzeravatar
lasser
Beiträge: 5
Registriert: Mo 29. Okt 2018, 17:09

Re: Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von lasser » Mo 29. Okt 2018, 19:18

Danke!
Auf den Trick mit der Abfrage wär ich nie gekommen.
Um ein bisschen Lerneffekt zu haben, habe ich versucht, das Ganze ohne Ansehen Deiner Version hinzukriegen. Und voilà :-)

Den Navigator benutze ich natürlich. Auch die Kontrollfelder…

Aber das nützt ja nix, wenn mir der grundsätzliche Überblick abgeht.

Also, Punkt 1 ist geklärt! :-)

LG
Frank

F3K Total
Beiträge: 2412
Registriert: So 10. Apr 2011, 10:10

Re: Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von F3K Total » Mo 29. Okt 2018, 19:19

Hi,
Zum 2. Punkt empfehle ich dir meine Videotutorials, siehe meine Signatur, da gibt es dann auch was zum Filtern.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Benutzeravatar
lasser
Beiträge: 5
Registriert: Mo 29. Okt 2018, 17:09

Re: Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von lasser » Di 30. Okt 2018, 02:13

Ok, dank deiner HowTos über Parameter-Abfrage und Erstellen einer Suche mit Filter-Tabelle ist Punkt 2 auch erledigt. Kind of…

Es funktioniert richtig gut. Aber irgendwie ist das Wiederumschalten auf die Gesamtheit der Datensätze ein etwas umständlicher workflow: Klicken ins Suchfeld, Suchwort löschen, auf Schaltfläche "aktualisieren" klicken. Geht das nicht auch schneller mit 1 Aktion? Aber wenn nicht, auch nicht schlimm…

Und ich habe das Gefühl, dass Punkt 3 auch mit einer Parameter-Abfrage zu lösen wäre…Richtig?

LG
Frank
Dateianhänge
Klienten-DB.zip
aktualisierte DB mit Alters-Feld und Suche. Punkt 3 fehlt noch ;-)
(18.11 KiB) 130-mal heruntergeladen

F3K Total
Beiträge: 2412
Registriert: So 10. Apr 2011, 10:10

Re: Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von F3K Total » Di 30. Okt 2018, 07:08

Moin,
nö, mit Parameterabfrage ist da nix nötig. Einfach zwei Abfragen mit COUNT() und GROUP BY, und dann an der richtigen Stelle als Grundlage von Unterformularen einbauen.

Gruß R
Dateianhänge
Buntum-Test-3.zip
(17.85 KiB) 117-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

F3K Total
Beiträge: 2412
Registriert: So 10. Apr 2011, 10:10

Re: Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von F3K Total » Di 30. Okt 2018, 11:45

lasser hat geschrieben:
Di 30. Okt 2018, 02:13
... ein etwas umständlicher workflow:...
Das kann nur per Makro einfacher werden:
Eine Schaltfläche, auf dem Formular Filter, mit diesem Makro an "Aktion ausführen" gebunden:

Code: Alles auswählen

Sub Filter_Reset(Event)
    oFormFilter = Event.source.model.Parent
    oFormFilter.Columns.F_Nachname.updateNull
    oFormFilter.updateRow
    oFormFilter.reload
End Sub
könnte helfen.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Benutzeravatar
lasser
Beiträge: 5
Registriert: Mo 29. Okt 2018, 17:09

Re: Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von lasser » Di 30. Okt 2018, 15:18

Moin R,

mangels Abgabestelle für Kudos ein fettes DANKE!!!, sowohl für Deine Hilfe als auch die Videos und Deine Zeit.

Ich werde das Formular noch ein bisschen netter gestalten und dann hier zum Download anbieten. Vllt. stolpert ja jemand drüber, der's gebrauchen kann.

LG
Frank

Benutzeravatar
lasser
Beiträge: 5
Registriert: Mo 29. Okt 2018, 17:09

Re: Klientendatenbank intern LO 5.2.7.2 Debian

Beitrag von lasser » Fr 2. Nov 2018, 11:35

So, falls jemand eine kleine Klientendatenbank im Therapiebereich sucht, im Anhang ist eine zu finden. Gerne weiterentwickeln, gibt sicher Potential Richtung Rechnungswesen und Terminkalender ;-)

Vielen Dank für die Hilfe hier in diesem Forum.

LG
Frank
Dateianhänge
Klienten-Therapie-DB.zip
(22.42 KiB) 136-mal heruntergeladen

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten