Wir sind auf Ihre Unterstützung angewiesen!
💚 BITTE helfen Sie uns HEUTE mit einer SPENDE 💚
Helfen Sie das LibreOffice Forum zu erhalten!
> 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. 🤗
Zahl per Makro auf Minus setzen
Zahl per Makro auf Minus setzen
Guten Tag
Vielleicht hat mir jemand einen Tipp, ob es einen Makro für folgende Anwendung gibt.
Ich habe ein Feld mit dem Namen 'Betrag', nun möchte ich im Formular den Betrag ohne Minuszeichen eingeben und dann mit einer Schaltfläche, diesem Betrag ein Minus vor die Zahl setzen.
Leider konnte ich im Forum nichts finden und auch Google wusste keinen Rat.
Falls jemand ein Skript hätte, würde es mich sehr freuen.
Ich wünsche noch einen schönen Nachmittag.
Herzliche Grüsse
Markus
Vielleicht hat mir jemand einen Tipp, ob es einen Makro für folgende Anwendung gibt.
Ich habe ein Feld mit dem Namen 'Betrag', nun möchte ich im Formular den Betrag ohne Minuszeichen eingeben und dann mit einer Schaltfläche, diesem Betrag ein Minus vor die Zahl setzen.
Leider konnte ich im Forum nichts finden und auch Google wusste keinen Rat.
Falls jemand ein Skript hätte, würde es mich sehr freuen.
Ich wünsche noch einen schönen Nachmittag.
Herzliche Grüsse
Markus
Re: Zahl per Makro auf Minus setzen
Hallo Markus,
meinst Du, dass das Betätigen einer Schaltfläche einfacher ist als das Minus direkt davor zu schreiben? Wenn ich das minus schon ersparen wollte, dann würde ich das Ganze beim Verlassen des Zahlenfeldes korrigieren.
Das Folgende dürfte vermutlich für ein einfaches Formularfeld passen
Das ist jetzt für Ganzzahlen gedacht (und nicht getestet).
Bei Dezimalzahlen müsste das wohl UpdateDouble() heißen. Da würde ich dann die Variable auch entsprechend als doValue bezeichnen. Aber die Definition der Variablen habe ich da ja sowieso außen vor gelassen.
Gruß
Robert
meinst Du, dass das Betätigen einer Schaltfläche einfacher ist als das Minus direkt davor zu schreiben? Wenn ich das minus schon ersparen wollte, dann würde ich das Ganze beim Verlassen des Zahlenfeldes korrigieren.
Das Folgende dürfte vermutlich für ein einfaches Formularfeld passen
Code: Alles auswählen
SUB MinusSetzen(oEvent AS OBJECT)
oFeld = oEvent.Source.Model
loValue = oFeld.CurrentValue
IF Sgn(loValues) = 1 THEN
loValue = -1*loValue
oFeld.BoundFiled.UpdateLong(loValue)
END IF
END SUB
Bei Dezimalzahlen müsste das wohl UpdateDouble() heißen. Da würde ich dann die Variable auch entsprechend als doValue bezeichnen. Aber die Definition der Variablen habe ich da ja sowieso außen vor gelassen.
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: Zahl per Makro auf Minus setzen
Guten Abend Robert
Vielen Dank für Deine Unterstützung.
Ich kriege es leider nicht hin und wie Du es bereits erwähnt hast, ob es sich dadurch einfacher arbeiten lässt bleibt fraglich.
Was leider nicht geht, ist die Variante beim Verlassen des Feldes, weil ich beide Varianten eingebe (positive und negative Beträge). Darum der Schalter, oder wenn z. B. beim Listenfeld (Einnahmen/Ausgaben), die Option Ausgaben gewählt wurde, setzt sich das Betragsfeld ins Minus.
Aber es ist schon so eine super Sache und erleichtert mir die Arbeit.
Nochmals vielen Dank.
Und herzliche Grüsse
Markus
Vielen Dank für Deine Unterstützung.
Ich kriege es leider nicht hin und wie Du es bereits erwähnt hast, ob es sich dadurch einfacher arbeiten lässt bleibt fraglich.
Was leider nicht geht, ist die Variante beim Verlassen des Feldes, weil ich beide Varianten eingebe (positive und negative Beträge). Darum der Schalter, oder wenn z. B. beim Listenfeld (Einnahmen/Ausgaben), die Option Ausgaben gewählt wurde, setzt sich das Betragsfeld ins Minus.
Aber es ist schon so eine super Sache und erleichtert mir die Arbeit.
Nochmals vielen Dank.
Und herzliche Grüsse
Markus
Re: Zahl per Makro auf Minus setzen
Hallo Markus,
das genannte Makro setzt natürlich alles ins Minus, was in dem entsprechenden Feld steht.
Angenommen, das Feld in Deiner Tabelle heißt "Betrag" und der Button (oder das Markierfeld oder ...) steht in dem gleichen Formular:
Gruß
Robert
das genannte Makro setzt natürlich alles ins Minus, was in dem entsprechenden Feld steht.
Angenommen, das Feld in Deiner Tabelle heißt "Betrag" und der Button (oder das Markierfeld oder ...) steht in dem gleichen Formular:
Code: Alles auswählen
SUB MinusSetzen(oEvent AS OBJECT)
oForm = oEvent.Source.Model.Parent
doValue = oForm.getDouble(oForm.findColumn("Betrag"))
IF Sgn(doValues) = 1 THEN
doValue = -1*doValue
oForm.UpdateDouble(oForm.findColumn("Betrag"), doValue)
END IF
END SUB
Robert
Zuletzt geändert von RobertG am Di 6. Jul 2021, 16:12, insgesamt 1-mal geändert.
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: Zahl per Makro auf Minus setzen
Grüezi Robert
Vielen Dank, dass Du Dich nochmals bemüht hast.
Das Resultat ist folgendes:
- Wenn ich es mit einer Schaltfläche (im gleichen Formular) anklicke passiert nichts.
- Den Makro anstossen im Makro bearbeiten bringt die Meldung:
BASIC-Laufzeitfehler. Argument ist nicht optional.
- Beim separaten ausführen über Makro ausführen erscheint das:
Ein Scripting Framework Fehler trat während der Ausführung vom Basic Skript Standard.Buchhaltung_oeffnen.MinusSetzen auf.
Meldung: wrong number of parameters!
Beste Grüsse
Markus
Vielen Dank, dass Du Dich nochmals bemüht hast.
Das Resultat ist folgendes:
- Wenn ich es mit einer Schaltfläche (im gleichen Formular) anklicke passiert nichts.
- Den Makro anstossen im Makro bearbeiten bringt die Meldung:
BASIC-Laufzeitfehler. Argument ist nicht optional.
- Beim separaten ausführen über Makro ausführen erscheint das:
Ein Scripting Framework Fehler trat während der Ausführung vom Basic Skript Standard.Buchhaltung_oeffnen.MinusSetzen auf.
Meldung: wrong number of parameters!
Beste Grüsse
Markus
Re: Zahl per Makro auf Minus setzen
Hallo Markus,
wenn das Makro nicht läuft, dann zeigt es mit der entsprechenden Zeile an, wo es nicht weiter geht. Vielleicht ist da die Zeile mit dem Update. Ich würde an Deiner Stelle einmal die zugrundeliegende Tabelle nehmen und zählen, an welcher Stelle denn das Feld "Betrag" liegt. Und dann
Gruß
Robert
wenn das Makro nicht läuft, dann zeigt es mit der entsprechenden Zeile an, wo es nicht weiter geht. Vielleicht ist da die Zeile mit dem Update. Ich würde an Deiner Stelle einmal die zugrundeliegende Tabelle nehmen und zählen, an welcher Stelle denn das Feld "Betrag" liegt. Und dann
Code: Alles auswählen
oForm.UpdateDouble(Stelle aus der Datengrundlage, doValue)
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 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 ❤️