🙏 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. 🤗

Datum, automatisch

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Datum, automatisch

Beitrag von gogo » Di 9. Apr 2013, 21:24

Ich verwende das Makro vor allem um Zeiträume für Abfragen, Filter etc. zu definieren. D.h wenn der User ein Formular öffnet wird im Feld DatumVon der Wert 'date-14' und im Feld DatumBis der Wert 'date' eingetragen (beide Datumsfelder sind nicht gebunden, d.h. sie zeigen keine in einer Tabelle vorhandenen Werte an). Und dann werden beim Klick auf den Button FilterFuerDatumsbereichSetzen die Datensätze der letzten 2 Wochen angezeigt, oder eben das Intervall das der Benutzer haben möchte.

Es ist vor allem auch deswegen nicht für das Anzeigen von Feldern mit schon vorhandenen Datensätzen geeignet, da sonst bei dem Datensatz der angezeigt wird wenn das Formular geöffnet wird automatisch das Datum immer auf "heute" gesetzt wird ... soll ja auch nicht sein ;)
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Re: Datum, automatisch

Beitrag von eiswiese » Mi 10. Apr 2013, 13:30

Ich danke dir. In deinem Beispiel funkioniert das auch wunderbar.
Aber schau dir mal an, wie das bei mir aussieht, ich habe die Datei gerade hochgeladen:
http://www.libreoffice-forum.de/viewtop ... 882#p20763

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

Re: Datum, automatisch

Beitrag von F3K Total » Mi 10. Apr 2013, 19:23

Hallo Eiswiese,
das liegt daran, dass du dem Formular "Frm_Behandlungsblatt" die Eigenschaft "Nur Daten hinzufügen" gegeben hast, stellst Du dies auf "nein" geht es.

Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Re: Datum, automatisch

Beitrag von eiswiese » Mi 10. Apr 2013, 19:47

Hallo R,
das war ja für das Hauptformular auch so geplant... In der Tat steht das aktuelle Datum nach der Änderung auf "nein" beim Start des Formulars im Feld.
Aber dann stehen im Hauptformular die Daten drin, die eigentlich nur im Subformular in der Tabelle zu lesen sein sollen. Das Hauptformular sollte nur für die Dateneingabe da sein.
Wenn ich dann auf den Button"Datenspeichern/Neuer Patient" klicke, um einen anderen Patienten zu bearbeiten, sind die Formularfelder im Hauptformular wieder geleert, leider aber auch das Datumsfeld.

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

Re: Datum, automatisch

Beitrag von F3K Total » Mi 10. Apr 2013, 19:59

eiswiese hat geschrieben:das war ja für das Hauptformular auch so geplant...
Nun,
das geht so nicht, wenn das Hauptformular diese Eigenschaft hat, kannst du es zwar für die Eingabe nur neuer Daten verwenden, die werden aber sofort ausgeblendet, wenn Du sie abspeicherst. Dann hat das Hauptformular keinen Inhalt mehr und das angebundene Unterformular kann ebenfalls nichts anzeigen, weil es an "nix" angebunden ist.
eiswiese hat geschrieben: In der Tat steht das aktuelle Datum nach der Änderung auf "nein" beim Start des Formulars im Feld.
Genau,
weil der letzte Datensatz, der gerade angezeigt wird, bereits das heutige Datum enthält, hast du wohl heute gemacht.
Es funktioniert so:
Wenn Du einen neuen Namen wählst und auf speichern klickst, wird ein deiner Tabelle eine neue Zeile angelegt, dies ist ein Datensatz.
Immer dann, wenn ein neuer Datensatz angelegt wird, wird das heutige Datum eingetragen.
Eins noch, ändere vorher dem nächsten Versuch in den Eigenschaften des Datumsfeldes" Eingabe erforderlich" auf "Nein" sonnst bekommst du eine Fehlermeldung.

Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Re: Datum, automatisch

Beitrag von eiswiese » Mi 10. Apr 2013, 20:17

Die Fehlermeldung hatte ich auch schon, jetzt nicht mehr. :) (sollte ja ein Pflichtfeld sein)

Also war gedanklich mein Fehler, zum Formularstart auf das Datum zu setzen, anstatt auf den Namen (wg Verbindung zum Sub), oder?

Dann muss ich ja nur noch das Problem der Aktivierungsreihenfolge gelöst kriegen (ich arbeite lieber ohne Maus), mit dem Formularstartfokus auf den Namen... ;)

Vielen Dank für deine Hilfe und Erläuterungen!

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

Re: Datum, automatisch

Beitrag von F3K Total » Mi 10. Apr 2013, 20:21

eiswiese hat geschrieben:(wg Verbindung zum Sub), oder?
Nein!
Erst wenn ein Eintrag in eine Zeile gemacht wurde, ist sie speicherbar, und erst dann wird das automatische Datum gesetzt.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

eiswiese
Beiträge: 29
Registriert: Fr 8. Mär 2013, 10:41

Re: Datum, automatisch

Beitrag von eiswiese » Mi 10. Apr 2013, 20:31

So langsam lichtet sich der Nebel.
Nochmals Danke! :P

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

Re: Datum, automatisch

Beitrag von F3K Total » Mi 10. Apr 2013, 20:45

Hallo,
ich habe dir das Formular mal so umgebaut, wie ich glaube, dass man gut damit arbeiten kann.
Dazu habe ich eine Tabelle "tbl_Filter..." mit nur einer Zeile angelegt.
Du wählst einen Patienten, drückst auf Filtern, kannst dann neue Daten anlegen, und siehst alle seine Einträge.
Schau dir das mal an.

Gruß R
Dateianhänge
Beispiel.zip
(18.12 KiB) 254-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Datum, automatisch

Beitrag von gogo » Mi 10. Apr 2013, 21:19

mit meiner Version (3.3.2 bisschen outdated) funktioniert das Autodatum nicht, das SQL-Statement wird zwar korrekt durchgeführt, das Datum aber nicht gesetzt.

Trotzdem Abhilfe:

Code: Alles auswählen

Sub Startup_Form_Behandlungsuebersicht(oEvent)
	oEvent.Source.DrawPage.Forms._
		getbyname("MainForm").getbyname("SubForm")._
		getbyname("SubForm_Grid").getbyname("Datum")._
		DefaultDate = clng(format(Date,"yyyymmdd"))
end sub
setzt das Standard-Datum auf heute, damit wird nur bei neuen Datensätzen das heutige Datum eingetragen, und zwar so, dass man es auch schon vor dem Speichern des Datensatzes sieht.

Ich hab' Deine DB ein bisserl umgestrickt - das Formular, so wie Du es verwendest, ist nicht wirklich brauchbar, da das Feld in dem Du den Patienten auswählst gebunden ist - d.h. jedes Mal wenn Du einen Patienten auswählst veränderst Du im "Behandlungsblatt" den behandelten Patienten - ich fürchte, das wir Dich bei der Arbeit verwirren :) . Außerdem haben Haupt- und Unterformular dieselbe Datenquelle - das mag zwar manchmal praktisch sein, bringt im gegenständlichen Fall aber nichts. F3K Total hat das über eine extra Filter-Tabelle gelöst in der quasi die zuletzt gesehene PatientenID gespeichert wird. Dadurch bleiben die Daten der Tbl_Behandlungen intakt.

Außerdem solltest Du die Verbindungen zwischen den Tabellen/Formularen per Primärschlüssel machen. Zusätzliche Schlüsselfelder in denen nochmal neue Nummern gespeichert sind brauchst Du da gar nicht. Ein Primärschlüssel wird ein Mal veregben und bleibt dieser Tabellenzeile treu. Die Tabelle Tbl_Potenzen kannst Du Dir (in der Form) auch sparen - nur ein Feld kann man auch in der Tabelle verwalten in der die Info steht. Schau Dir das Kombinationsfeld an, dann weisst Du wie ich das meine.

In der Makrobiliothek hast Du 9 Module mit in Summe 13 Prozeduren - das wird mit der Zeit unübersichtlich, und ist auch gar nicht notwendig. So lange Du keine doppelten Prozedurnamen verwendest kannst Du alles in ein Modul schreiben. Ich hab' ein Modul das ist 12.000 Codezeilen lang - Zugegeben auch das ist nicht besonders übersichtlich, aber wenn man es klar gliedert kein Problem.

PS: verschreibst Du pro Ordination wirklich nur ein Medikament - und keine anderen Leistungen? In den Praxissoftwarepaketen die ich kenne gibt's pro Ordination immer mehrere Leistungen. :ugeek:
Dateianhänge
DaTe.odb.zip
(25.43 KiB) 206-mal heruntergeladen
Zuletzt geändert von gogo am Mi 10. Apr 2013, 21:33, insgesamt 1-mal geändert.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu


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