🙏 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!🍀
>> 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
Tabelle Datensatz für Datensatz automatisch aktualisieren
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
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
Re: Tabelle Datensatz für Datensatz automatisch aktualisieren
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?
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Tabelle Datensatz für Datensatz automatisch aktualisieren
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
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
Re: Tabelle Datensatz für Datensatz automatisch aktualisieren
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 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.
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
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
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%';
Das ist auch das was Robert hiermit
gemeint hat.Welche Bedingung gilt denn für die Datensätze, die ein Update erfahren sollen?
MfG
HeiDieLx vom Bienwald
Tumbleweed
postgreSQL 16
LibreOffice 24.2.5.2
HeiDieLx vom Bienwald
Tumbleweed
postgreSQL 16
LibreOffice 24.2.5.2
Re: Tabelle Datensatz für Datensatz automatisch aktualisieren
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: Wenn man nun über Menü Extras/SQL... folgenden SQL-Code einmalig ausführtwerden die Datumsspalten ordentlich gefüllt, das Ergebnis sieht so aus:
Gruß R
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: 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);
- Dateianhänge
-
- TXT_DATUM_IN_DATE_UMWANDELN.zip
- nur entpacken
- (6.22 KiB) 309-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Tabelle Datensatz für Datensatz automatisch aktualisieren
Hallo F3K Total,
Applaus
das ist ja nun die Platin-Edition!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);
Applaus
MfG
HeiDieLx vom Bienwald
Tumbleweed
postgreSQL 16
LibreOffice 24.2.5.2
HeiDieLx vom Bienwald
Tumbleweed
postgreSQL 16
LibreOffice 24.2.5.2
Re: GELÖST: Tabelle Datensatz für Datensatz automatisch aktualisieren
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
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.