🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

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

[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: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von malt14 » Fr 2. Jun 2023, 18:04

Hallo Robert,

Vielen Dank für Deinen Hinweis. Nach dem Löschen des Beschriftungsfeldes funktioniert das Makro einwandfrei.

Ich wusste nicht, dass der gleiche Name für Beschriftungsfeld und Eingabefeld das Funktionieren eines Makros verhindert.


Grüße
Malt

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

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

Beitrag von RobertG » Fr 2. Jun 2023, 19:20

Hallo Malt,

in dem Makro steht der Verweis auf das Feld mit dem entsprechenden Namen. Wenn dann der Name nicht eindeutig ist kann nicht unterschieden werden, welches von den beiden Feldern gemeint ist. Es reicht, die Felder unterschiedlich zu benennen: lblText und txtText.

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: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von malt14 » Do 11. Apr 2024, 19:52

Guten Tag,

Robert hat dieses Makro bereitgestellt, welches in Text Felder den aktuellen Zeitstempel ans Ende des Feldes anfügt.

Code: Alles auswählen

SUB Zeitstempel(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
oMemoFeld = oForm.getByName("Memo")
stMemo	= oMemoFeld.Text
stTimestamp = Year(Now()) & "-" & Right("0" & Month(Now()),2)  & "-" & Right("0" & Day(Now()),2)  & "_" & Right("0" & Hour(Now()),2)  & ":" & Right("0" & Minute(Now()),2) & ":" & Right("0" & Second(Now()),2)
oMemoFeld.Text = stMemo & stTimestamp
END SUB
Wäre es möglich, dass der Zeitstempel an der Position des Cursors im Textfeld vor Aufruf des Makros eingefügt wird?
Falls das nicht geht, am Anfang des Textfeldes mit einem nachfolgenden Leerzeichen?

Kann man am Anfang des Zeitstempels noch das Kürzel für den Wochentag eingeben, z.B. Do-2024-04-11_13:02:30?

Grüße
Malt

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

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von RobertG » Fr 12. Apr 2024, 08:51

Zur Position des Zeitstempels:

Code: Alles auswählen

oMemoFeld.Text = stMemo & stTimestamp
wird zu

Code: Alles auswählen

oMemoFeld.Text = stTimestamp & stMemo
Zum Wochentag: Folgende Funktion steht (leider fehlerhaft übersetzt) etwas abgewandelt in der Hilfe:

Code: Alles auswählen

FUNCTION DayInWeek(DateTime)
    Dim sDay As String
    ' Wochentag ermitteln und ausgeben
    Select Case WeekDay( DateTime )
            Case 1: sDay="Sonntag"
            Case 2: sDay="Montag"
            Case 3: sDay="Dienstag"
            Case 4: sDay="Mittwoch"
            Case 5: sDay="Donnerstag"
            Case 6: sDay="Freitag"
            Case 7: sDay="Samstag"
    End Select
    DayInWeek = sDay
END FUNCTION
Und daraus machst Du jetzt:

Code: Alles auswählen

stTimestamp = DayInWeek(Now()) & "-" & stTimestamp
bevor Du das an das MemoFeld weiter gibst. Natürlich hast Du jetzt den gesamten Tagesnamen, kannst ihn aber auch als Kürzel dort eingeben.

Wie ich irgendetwas an der Cursorposition in einem Memofeld einsetzen kann weiß ich nicht. Ich nutze keine mehrzeiligen Textfelder. Unter Linux/KDE sind die seit einiger Zeit sowieso unbrauchbar, da dort kein Hintergrund mit eingeblendet wird. Es wird also einfach ein Text über den anderen gelegt, wenn ich von einem Datensatz zum nächsten wechsele.
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: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Makro Zeitstempel Firebird Text, CLOB, Timestamp

Beitrag von malt14 » Fr 12. Apr 2024, 17:34

Hallo Robert,

vielen Dank!

Grüße
Malt


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