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

Tabelle Datensatz für Datensatz automatisch aktualisieren

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Goebele
! Supporter - Spende !
Beiträge: 10
Registriert: Mo 1. Jul 2024, 14:14
Wohnort: Nürnberg

Tabelle Datensatz für Datensatz automatisch aktualisieren

Beitrag von Goebele » Di 10. Sep 2024, 12:50

Liebe BASE-Freunde,
es gelingt mir nicht:
MAKRO-Aufgabe: Einbau einer Hauptschleife, die das nächste Formular (mit dem nächsten DS) lädt, um ohne weiteren Usereingriff alle DS der Tabelle zu aktualisieren.
LO BASE 7.6 Tabelle ‘Eigner‘ Formular ‘EINGER-DateUP‘ Schaltfläche ruft
Makro ‘Sub EignerDATEup1(oEvent As Object) auf.
Ziel: in allen DS der Tabelle bestimmte Feldinhalte zu ergänzen
(Textfeldinhalte in DATE-Felder übertragen).
Das gelingt derzeit mit einem, dem aktuellen Formular.
Aufgabe: Einbau einer Hauptschleife, die das nächste Formular (mit dem nächsten DS) lädt, um ohne weiteren Usereingriff alle DS der Tabelle zu aktualisieren.
Meine bisherigen Versuche waren erfolglos.
Mein Makro lege ich bei.
Für eine Lösung wäre ich dankbar.
Gruß
Goebele
Dateianhänge
Sub EignerDATEup1.pdf
(58.64 KiB) 276-mal heruntergeladen

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Tabelle Datensatz für Datensatz automatisch aktualisieren

Beitrag von RobertG » Di 10. Sep 2024, 15:25

Wenn Du bei allen Datensätzen das gleiche Update machen willst, warum überprüfst Du nicht, welchen SQL-Code Du da zusammenstellst?

Welche Bedingung gilt denn für die Datensätze, die ein Update erfahren sollen?
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Goebele
! Supporter - Spende !
Beiträge: 10
Registriert: Mo 1. Jul 2024, 14:14
Wohnort: Nürnberg

Re: Tabelle Datensatz für Datensatz automatisch aktualisieren

Beitrag von Goebele » Mi 11. Sep 2024, 11:21

Hallo Robert,
was meinst Du mit "warum überprüfst Du nicht, welchen SQL-Code Du da zusammenstellst?"
Es soll in allen DS der Inhalt derjenigen Textfelder, welche ein Datum darstellen, in vorhandene evtl. leere DATE-Felder übertragen werden. Das funktioniert für den per Schaltfläche rufenden DS (Formular). Ich könnte nun Formular für Formular händisch weiterblättern und den Button drücken.
Es liegt aber nahe, dass es möglich sein sollte, das Makro so zu erweitern, dass automatisch das immer nächste Formular geöffnet und aktualisiert wird. Die Daten sind nicht immer die gleichen! Die SQL-Statements müssen also immer neu generiert werden.
Falls der SQL-Code in dem übermittelten Makro einen Fehler hat, dann vielleicht, weil ich es 'bereinigt' habe, damit die Datei nicht so groß wird.
Gruß Goebele

Benutzeravatar
HeiDieLX2
! Supporter - Spende !
Beiträge: 41
Registriert: Mo 9. Sep 2019, 12:50

Re: Tabelle Datensatz für Datensatz automatisch aktualisieren

Beitrag von HeiDieLX2 » Mi 11. Sep 2024, 15:07

Hallo Goebele,

wenn ich dein PDF richtig verstehe, möchtest du eine Anzahl von x Feldern in x Sätzen mit neuen Werten belegen.

Das Makro schreibt jeweils bei einem Satz

Code: Alles auswählen

WHERE ""ID"" = " & recordID 
die Daten weg.

Dann soll sich das Makro wohl n-fach wiederholen bis alles erledigt ist?

Das ganze kann SQL jedoch ohne solch große Programmierung für dich lösen.

Code: Alles auswählen

UPDATE eigner SET <Feldname> = <Wert>, <Feldname2> = <Wert2> WHERE name like 'Hei%';
Entscheidend dabei ist die WHERE Klausel, SQL führt den Befehl solange aus wie die Klausel wahr ergibt.
Das ist auch das was Robert hiermit
Welche Bedingung gilt denn für die Datensätze, die ein Update erfahren sollen?
gemeint hat.
MfG
HeiDieLx vom Bienwald

Tumbleweed
postgreSQL 16
LibreOffice 24.2.5.2

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

Re: Tabelle Datensatz für Datensatz automatisch aktualisieren

Beitrag von F3K Total » Mi 11. Sep 2024, 18:32

Moin,
wenn ich Goebele richtig verstanden habe, möchte er/sie schlicht verschiedene Daten (Mehrzahl von Datum), die bisher in einer Text-Spalte der Tabelle vorliegen, in ein DATE-Format übertragen.
Das geht tatsächlich komplett ohne Makro für alle Datensätze einer Tabelle in einem Schwung.
Beispieldatei anbei.
In der Datei findet man eine Tabelle T_DATA, in dieser befinden sich zwei VARCHAR Datumsspalten und zwei DATE Datumsspalten, diese sind noch leer:
1.png
1.png (30.52 KiB) 2549 mal betrachtet
Wenn man nun über Menü Extras/SQL... folgenden SQL-Code einmalig ausführt

Code: Alles auswählen

UPDATE "T_DATA" SET "Vertr-Beginn" = CAST('20'||RIGHT("VB_TXT",2)||'-'||SUBSTR("VB_TXT",4,2)||'-'||LEFT("VB_TXT",2) as DATE) ;
UPDATE "T_DATA" SET "Vertr-End" = CAST('20'||RIGHT("VE_TXT",2)||'-'||SUBSTR("VE_TXT",4,2)||'-'||LEFT("VE_TXT",2) as DATE);
werden die Datumsspalten ordentlich gefüllt, das Ergebnis sieht so aus:
2.png
2.png (30.96 KiB) 2549 mal betrachtet
Gruß R
Dateianhänge
TXT_DATUM_IN_DATE_UMWANDELN.zip
nur entpacken
(6.22 KiB) 309-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

Benutzeravatar
HeiDieLX2
! Supporter - Spende !
Beiträge: 41
Registriert: Mo 9. Sep 2019, 12:50

Re: Tabelle Datensatz für Datensatz automatisch aktualisieren

Beitrag von HeiDieLX2 » Do 12. Sep 2024, 12:13

Hallo F3K Total,
UPDATE "T_DATA" SET "Vertr-Beginn" = CAST('20'||RIGHT("VB_TXT",2)||'-'||SUBSTR("VB_TXT",4,2)||'-'||LEFT("VB_TXT",2) as DATE) ;
UPDATE "T_DATA" SET "Vertr-End" = CAST('20'||RIGHT("VE_TXT",2)||'-'||SUBSTR("VE_TXT",4,2)||'-'||LEFT("VE_TXT",2) as DATE);
das ist ja nun die Platin-Edition!
Applaus
MfG
HeiDieLx vom Bienwald

Tumbleweed
postgreSQL 16
LibreOffice 24.2.5.2

Goebele
! Supporter - Spende !
Beiträge: 10
Registriert: Mo 1. Jul 2024, 14:14
Wohnort: Nürnberg

Re: GELÖST: Tabelle Datensatz für Datensatz automatisch aktualisieren

Beitrag von Goebele » Do 12. Sep 2024, 12:30

Hallo, Ihr Helfer,
ja ich bin richtig verstanden worden.
Für die Info, direkt mit SQL an die Sache ranzugehen danke ich.
Danke @ HeiDieLX2: überprüft und aktualisiert werden sollen alle DS
Besonderen Dank an @F3K Total für die 'Fertiglösung' !!!!!
Als Anfänger kann ich sehr viel lernen. Die Hilfsbereitschaft im Forum ist phänomenal.
SQL wir mich nun besonders beschäftigen.
Danke!!!
Gruß Goebele


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