[GELÖST] Datum aktualisieren und abfragen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Lioness
*
Beiträge: 10
Registriert: Mi, 23.12.2020 17:22

[GELÖST] Datum aktualisieren und abfragen

Beitrag von Lioness »

Hallo Leute

Zuerst mal vorne weg, das ist mein allererster Beitrag, falls also was falsch gemacht wurde bzw wenn ich die Frage im falschen Beireich stelle, bitte darauf hinweisen. :)

Ich beschäftige mich seit gestern mit OOo Base (ich arbeite mit Version 4.1.8 ) da ich meine Kundenkarteien vom Papier weg hin zur digitalen Verwaltung legen möchte. Ich möchte sagen ich bin auch schon gut weit gekommen, aber an so Sachen wie mit SQL Code bei Abfragen arbeiten oder Makros häng ich total weil Null Erfahrung damit, aber aus irgendeinem Grund möchte ich sie gern verwenden und auch darüber lernen.

Meine Konkreten Fragen:

1. In meinem Formular Karteien möchte ich gerne in der Spalte "letzter Termin" das aktuelle Datum eintragen ohne es per Hand eintippen zu müssen, also quasi eine Makro die mit einer Schaltfläche per Knopfdruck das Datum auf Heute aktualisiert. Jedoch nur in der Zeile die ich ausgewählt habe und nicht für das ganze Formular (ich hoffe man versteht was ich meine)

2. Ich möchte eine Abfrage erstellen die dann eben die Spalte "letzter Termin" nutzt und mir Leute anzeigt die zuletzt vor z.B.: 3 Monaten oder noch länger da waren, sprich alles was älter als diese 3 Monate ist soll angezeigt werden. Außerdem würde ich gerne die Abfrage mit einem Parameter handhaben, sodass ich nach belieben suchen kann, also mal 3 Monate oder mal 5 Monate oder 12 Monate ohne dass ich für jede Möglichkeit eine neue Abfrage erstellen muss
Die Abfrage "Zeit" die ich schon erstellt habe funktioniert zwar, jedoch nur begrenzt. Wenn ich hier "3" eingebe um alles vor März anzuzeigen funktioniert das zwar aber nur für 2020, der eine Eintrag von 2019 wird mir nicht angezeigt, ist klar weil ich kein Jahr angegeben habe an dem er sich orientieren soll, jedoch sind jegliche Versuche dies zu tun kläglich gescheitert

Ich habe keine Ahnung ob diese Sachen überhaupt so realisierbar sind wie ich mir das vorstelle, nach nun schon gut 2 Tagen vor Google etc habe ich nichts passendes gefunden bzw kann die Codes die ich gefunden habe nicht 1:1 in meinem Fall verwenden und weiß aber auch nicht wie ich diese abändern soll/muss.
Anbei lade ich natürlich meine Datei hoch, damit man hoffentlich etwas besser sieht was ich meine

Schon mal vielen Dank im Vorraus :)
test.odb
(16.84 KiB) 143-mal heruntergeladen
Zuletzt geändert von Lioness am Do, 24.12.2020 13:22, insgesamt 1-mal geändert.
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Datum aktualisieren und abfragen

Beitrag von RobertG »

Zum aktuellen Datum: Schau Dir einmal die zusätzlichen Beispieldatenbanken zum Handbuch Base an (https://wiki.documentfoundation.org/ima ... ung_70.zip) Da ist eine Datenbank allein zum Problem "Aktuelle Standardwerte für Datum und Zeit" dabei.

In der Kürze: Das aktuelle Datum erhältst Du über eine Abfrage. Die sollte nur einen Datensatz enthalten. Und hier wird es etwas komisch: Du musst in jeder Abfrage eine Tabelle benennen. Also kommst Du zu so einer Konstruktion wie

Code: Alles auswählen

SELECT CURRENT_DATE AS "DatumJetzt" FROM "Tabelle" WHERE "ID" = 0
Für die meisten Suchfunktionen brauchst Du sowieso eine Tabelle, die nur einen Datensatz beinhaltet. So eine Tabelle würde sich hier nesser eignen als eine Tabelle, die eine wechselnde Anzahl Datensätze hat. Denn wenn z.B. ID = 0 gelöscht würde hättest Du kein aktuelles Datum mehr zur Verfügung.

Zum Monatsunterschied: Hier musst Du die Funktion DATEDIFF benutzen. Mit

Code: Alles auswählen

SELECT * FROM Tabelle" WHERE DATEDIFF('month', "Datum", CURRENT_DATE) > 4
Hast Du eine Differenz größer als 4 Monate.

Gruß

Robert
Lioness
*
Beiträge: 10
Registriert: Mi, 23.12.2020 17:22

Re: Datum aktualisieren und abfragen

Beitrag von Lioness »

Hallo Robert

Danke für die schnelle Hilfe. Datediff funktioniert super, ich hab die Zahl noch durch eine Parameterabfrage ersetzt und jetzt funktioniert es genauso wie ich es mir vorgestellt habe.

Alles klar, ich hab mir die Beispieldatenbanken geholt, ich werde mal versuchen ob ich es selbst hinkriege, wenn nicht melde ich mich nochmal.

Lg
Lioness
*
Beiträge: 10
Registriert: Mi, 23.12.2020 17:22

Re: Datum aktualisieren und abfragen

Beitrag von Lioness »

Nochmals Hallo

Ich muss gestehen ich hab mich dann doch dafür entschieden an einem Makro zu basteln und hab es tatsächlich hingekrigt. Das Makro ist an eine Schaltfläche gebunden und ändert nur das Datum in der Zelle die man markiert hat.

Für alle die es interessiert so sieht das Makro aus:


Sub Datum_aktuell
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM unoDate
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = ThisComponent.Drawpage.Forms.getByName( "Filter_Namen" )
oSubForm = oForm.getByName("MainForm")
osubGrd = osubForm.getByName( "MainForm_Grid" )
osubColumn_datum = osubGrd.getbyname("letzter Termin")
unoDate = createUnoStruct("com.sun.star.util.Date")
unoDate.Day = Day(Date)
unoDate.Month = Month(Date)
unoDate.Year = Year(Date)
osubColumn_datum.BoundField.updateDate(unoDate)
END SUB
Antworten