🙏 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!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Eingabe über Makro in ein Textfeld, wird nicht in die Tabelle übernommen
Eingabe über Makro in ein Textfeld, wird nicht in die Tabelle übernommen
Guten Abend
Ich möchte gerne eine Auftragsnummer erstellen mit dem JJMM und der Datensatznummer des Auftrages.
Dafür habe ich in der Tabelle ein Textfeld mit dem Namen Rechnungsnummer, mit einem Makro setze ich dann im Formular das Jahr und den Monat:
SUB Rechnungsnummer
ThisComponent.Drawpage.Forms.GetByName("MainForm").GetByName("datRechnungsnr").Text = Format(Date, "YYMM")
End Sub
Es wird dann das Jahr und der Monat in das Feld gesetzt z.B. 2308, aber leider lässt sich das nicht in die Tabelle übertragen, das heisst beim Speichern oder Datensatzwechsel verschwindet dann die Zahl wieder.
Muss im Makro ein zusätzlicher Befehl geschrieben werden?
Vielleicht kann mir jemand weiterhelfen.
Vielen Dank und ein schönes Wochenende.
Herzliche Grüsse
Markus
Ich möchte gerne eine Auftragsnummer erstellen mit dem JJMM und der Datensatznummer des Auftrages.
Dafür habe ich in der Tabelle ein Textfeld mit dem Namen Rechnungsnummer, mit einem Makro setze ich dann im Formular das Jahr und den Monat:
SUB Rechnungsnummer
ThisComponent.Drawpage.Forms.GetByName("MainForm").GetByName("datRechnungsnr").Text = Format(Date, "YYMM")
End Sub
Es wird dann das Jahr und der Monat in das Feld gesetzt z.B. 2308, aber leider lässt sich das nicht in die Tabelle übertragen, das heisst beim Speichern oder Datensatzwechsel verschwindet dann die Zahl wieder.
Muss im Makro ein zusätzlicher Befehl geschrieben werden?
Vielleicht kann mir jemand weiterhelfen.
Vielen Dank und ein schönes Wochenende.
Herzliche Grüsse
Markus
Re: Eingabe über Makro in ein Textfeld, wird nicht in die Tabelle übernommen
Hallo Markus,
mit der Eigenschaft "Text" schreibst Du etwas nur in die Anzeige. Das merkst Du auch, wenn Du lediglich diese Makroänderung und sonst keine am Datensatz machst. Der Speicherbutton wird nicht aktiviert, Du kannst das Formular einfach schließen, nichts passiert.
Ich nehme einmal an, dass das, was da gespeichert werden soll, tatsächlich ein Text ist. So kommst Du jedenfalls an das darunterliegende Feld ran.
Gruß
Robert
mit der Eigenschaft "Text" schreibst Du etwas nur in die Anzeige. Das merkst Du auch, wenn Du lediglich diese Makroänderung und sonst keine am Datensatz machst. Der Speicherbutton wird nicht aktiviert, Du kannst das Formular einfach schließen, nichts passiert.
Code: Alles auswählen
SUB Rechnungsnummer
ThisComponent.Drawpage.Forms.GetByName("MainForm").GetByName("datRechnungsnr").BoundField.UpdateString(Format(Date, "YYMM"))
End Sub
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Eingabe über Makro in ein Textfeld, wird nicht in die Tabelle übernommen
Lieber Robert
Klappt super, ganz herzlichen Dank.
Ich wünsche Dir einen guten Start in die neue Woche.
Beste Grüsse
Markus
Klappt super, ganz herzlichen Dank.
Ich wünsche Dir einen guten Start in die neue Woche.
Beste Grüsse
Markus
Re: Eingabe über Makro in ein Textfeld, wird nicht in die Tabelle übernommen
Guten Tag Robert
Erlaube mir nochmals eine Frage zu stellen, hier habe ich das selbe Problem, die Änderung wird zwar geschrieben, aber nicht gespeichert in der Tabelle. Habe versucht es abzuleiten vom ersten Fall, komme aber auf keine Lösung.
Sub aufbezahltsetzen
Dim oForm As Object
Dim oField1 As Object
Dim oField2 As Object
Dim sValue As String
oForm = ThisComponent.Drawpage.Forms.getByName("MainForm")
oField1 = oForm.getByName("txtZahlung")
oField2 = oForm.getByName("txtStatus")
sValue = "Barzahlung, Betrag dankend erhalten"
If oField1.Text = sValue Then
oField2.Text = "Auftrag bezahlt"
End If
End Sub
Herzliche Grüsse aus Herisau
Markus
Erlaube mir nochmals eine Frage zu stellen, hier habe ich das selbe Problem, die Änderung wird zwar geschrieben, aber nicht gespeichert in der Tabelle. Habe versucht es abzuleiten vom ersten Fall, komme aber auf keine Lösung.
Sub aufbezahltsetzen
Dim oForm As Object
Dim oField1 As Object
Dim oField2 As Object
Dim sValue As String
oForm = ThisComponent.Drawpage.Forms.getByName("MainForm")
oField1 = oForm.getByName("txtZahlung")
oField2 = oForm.getByName("txtStatus")
sValue = "Barzahlung, Betrag dankend erhalten"
If oField1.Text = sValue Then
oField2.Text = "Auftrag bezahlt"
End If
End Sub
Herzliche Grüsse aus Herisau
Markus
Re: Eingabe über Makro in ein Textfeld, wird nicht in die Tabelle übernommen
Hallo Markus,
der gleiche Fehler: oField1.Text ist das, was Du im Formular siehst. Das ist aber nicht unbedingt der Inhalt, der in der darunterliegenden Datenquelle gespeichert ist. Du kannst per Makro allen möglichen Feldern neuen Text zuweisen und wirst anschließend nicht nach einer Speicheraktion gefragt, weil die Änderung nicht bei der Datenquelle ankommt.
Wenn Du einen Wert ermitteln willst:
oField1.CurrentValue
Wenn Du einen Wert schreiben willst:
oField1.BoundField.UpdateString(sValue)
Gruß
Robert
der gleiche Fehler: oField1.Text ist das, was Du im Formular siehst. Das ist aber nicht unbedingt der Inhalt, der in der darunterliegenden Datenquelle gespeichert ist. Du kannst per Makro allen möglichen Feldern neuen Text zuweisen und wirst anschließend nicht nach einer Speicheraktion gefragt, weil die Änderung nicht bei der Datenquelle ankommt.
Wenn Du einen Wert ermitteln willst:
oField1.CurrentValue
Wenn Du einen Wert schreiben willst:
oField1.BoundField.UpdateString(sValue)
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
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 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.