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

[gelöst]Makro Zeitstempel Firebird Text, CLOB, Timestamp

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von malt14 » Di 30. Mai 2023, 21:04

Hallo Robert,
die Datenbank timestampInText.odb lud ich jetzt in timestampInText.zip hoch.
timestampInText.zip
(26.8 KiB) 64-mal heruntergeladen
Grüße
Malt

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von RobertG » Mi 31. Mai 2023, 10:01

Hallo Malt,

was soll ich machen, damit dort ein Fehler auftaucht? Ich kann sowohl in "Name" einen Namen eingeben und auf den nächsten Datensatz gehen als auch in dem Feld btext etwas rein schreiben und (über die Navigationsleiste) auf den nächsten Datensatz gehen. Der Zeitstempel wird jedes Mal neu geschrieben.

Gruß

Robert
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

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von malt14 » Mi 31. Mai 2023, 10:53

Hallo Robert,

das Problem besteht darin, dass ich ein Makro benötige, welches in das Feld "btext" an der Stelle der Cursor Position den aktuellen Zeitstempel einfügt, wenn man den Button betätigt. Das ist bei Texten mit zu unterschiedlichen Zeitpunkten verfassten Teilen nützlich.
Mit den beiden Makros "Zeitstempel" und "WriteTimestampToClobField" funktioniert das bei mir nicht.

Das Feld "timestampLastChanged" ist mittels Trigger so eingestellt, dass es nach jeder Datensatzänderung den aktuellen Zeitstempel enthält. Damit werden die Zeitpunkte der einzelnen Textteile im Feld "btext" jedoch nicht dokumentiert.

Grüße
Malt

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von RobertG » Mi 31. Mai 2023, 15:56

Hallo Malt,

ich sehe da keinen Button, der irgendetwas machen soll. Das Formular enthält ein Tabellenkontrollfeld, ein Beschriftungsfeld und ein großes Textfeld.

Gruß

Robert
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

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von malt14 » Mi 31. Mai 2023, 21:14

Hallo Robert,

Mein Fehler. Ich hatte die Buttons in der Symbolleiste eingerichtet.
Ich habe jetzt Schaltflächen im Formular angelegt.
Die geänderte Datenbank timestampInText.odb lud ich in timestampInText.zip hoch.
timestampInText.zip
(27.21 KiB) 61-mal heruntergeladen

Beim Drücken der Schaltfläche "Zeitstempel":
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: Text.
Markiert: stMemo = oMemoFeld.Text

Liegt das daran, dass "btext" ein Feld vom Typ CLOB ist?

Beim Beim Drücken der Schaltfläche "WriteTimestampToClobField":
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: DatabaseDocument.
Markiert: oTable = ThisComponent.DatabaseDocument.CurrentController.ActiveConnection.getMetaData().getTables(Nothing, Nothing, "Tabelle1", False)


Grüße
Malt

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von RobertG » Do 1. Jun 2023, 09:28

Hallo Malt,

der erste Button "Zeitstempel" funktioniert hier einwandfrei. Allerdings: Du musst nach dem Einfügen des Zeitstempels wenigstens einmal die Leertaste drücken, damit der Stempel auch mit gespeichert wird.

Beim 2. Makro weiß ich nicht, was das erreichen soll. Das Datenbankdokument erhältst Du jedenfalls über ThisDatabaseDocument. Aber danach ist Schicht. Auf diese Weise habe ich noch nie auf eine Tabelle zugegriffen. Die Einträge "Nothing" als Variablen sind auf jeden Fall Blödsinn.

Gruß

Robert
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

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von malt14 » Do 1. Jun 2023, 18:46

Hallo Robert,

Dank für Deine Hilfe.

Ich startete LO mit neuen, leeren Roaming Daten.
Nachdem ich den Cursor im Feld "btext" positionierte, klickte ich auf die Schaltfläche "Zeitstempel":
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: Text.
Markiert: stMemo = oMemoFeld.Text

In meiner Tabelle ist "btext" ein CLOB Feldtyp.


Die Fehlermeldung erhalte ich auch mit der aktuellen LO Nightly Build Version.
Andere Makros funktionieren.

Bediene ich das Formular oder LO falsch?


Grüße
Malt

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von RobertG » Do 1. Jun 2023, 19:03

Hallo Malt,

Du schreibst jetzt wirklich von der Datenbankdatei, die Du hier zum Schluss online gestellt hast, oder?

Das Ganze funktioniert bei mir einwandfrei unter LO 7.4.7.2 und LO 7.5.3.2. Unter LO 7.6.0.0. Alpha 1 scheint aber das Formularfeld überhaupt nicht ansprechbar zu sein. Da ist ein Bug drin.

Der Button muss natürlich im Formular liegen und nicht irgendwo in einer Symbolleiste - und zwar in dem gleichen Formular, in dem das Textfeld liegt. Sonst funktioniert schon nicht die Ermittlung des richtigen Feldes über den auslösenden Button. Deswegen steht in dem Makro auch

Code: Alles auswählen

SUB Zeitstempel(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
Auslösendes Ereignis oEvent aus dem Formular heraus. Das Formular wird ermittelt. Danach geht es weiter.

Gruß

Robert
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

malt14
Beiträge: 119
Registriert: Fr 7. Nov 2014, 06:21

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von malt14 » Fr 2. Jun 2023, 13:48

Hallo Robert,

Dank für die Informationen.

Ja, ich benutze die letzte Version von timestampInText.odb, die ich hier hochlud.

Formular geöffnet
Cursor in "btext" neben "test1 "
Schaltfläche "Zeitstempel" mit Maus Zeiger angeklickt.

Ergebnis:
Screenshot 2023-06-02 130821.png
Screenshot 2023-06-02 130821.png (132.24 KiB) 1501 mal betrachtet
Ich installierte und benutzte jetzt die LO Version: 7.5.3.2 (X86_64) / LibreOffice Community
Build ID: 9f56dff12ba03b9acd7730a5a481eea045e468f3
und die LO Nightly Build Version: 7.5.5.0.0+ (X86_64) Build ID: 41e9b86e39e3bd9093bbefc7cf2d4ef2866390e2.
Ich erhalte weiter die Fehlermeldung.

Die anderen LO Makros funktionieren.


Grüße
Malt

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von RobertG » Fr 2. Jun 2023, 15:38

Hallo Malt,

ich habe da eine Vermutung:
Du hast in dem Formular das Feld "btext" doppelt: Einmal als Beschriftungsfeld, das andere Mal als Eingabefeld. Warum das bei mir funktioniert, bei Dir nicht, weiß ich nicht. Aber vermutlich versucht bei Dir das Makro den Text bei dem Beschriftungsfeld einzufügen.

Gruß

Robert
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

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