🙏 Helfen Sie 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. 🤗
Macro für automatische Wertsetzung
Macro für automatische Wertsetzung
Hallo,
ich möchte, dass wenn in dem Feld Datum meiner Tabelle (Formular) Produkt ein Datum eingetragen wird, in einen anderen Feld (Vorgang) die Zahl 1 gesetzt wird. Wie müsste das Macro hierfür aussehen?
Vielen dank im Voraus
ich möchte, dass wenn in dem Feld Datum meiner Tabelle (Formular) Produkt ein Datum eingetragen wird, in einen anderen Feld (Vorgang) die Zahl 1 gesetzt wird. Wie müsste das Macro hierfür aussehen?
Vielen dank im Voraus
Re: Macro für automatische Wertsetzung
Dein Datumsfeld hat eine Ereignis "Nach dem Aktualisieren"
diesen weist Du folgendes Makro zu:
diesen weist Du folgendes Makro zu:
Code: Alles auswählen
sub Feldwert_setzen
oForm = StarDesktop.CurrentComponent.DrawPage.Forms.GetByIndex(0)
select case oForm.getByName("Name des Datums-Kontrollfeldes wie es im Formularnavigator steht").text
case "",0,null
case else
oForm.getByName("Name des Kontrollfeldes in das Du den 1er eintragen willst wie es im Formularnavigator steht").text = 1
end select
end sub
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
Re: Macro für automatische Wertsetzung
Leider kommt eine Fehlermeldung.
Liegt es evtl. daran, dass es sich nicht um Kontrollfelder sondern um Texfelder (AuzugDatum Feldtyp Datum (DATE), OffenBezahlt Feldtyp Zahl (NUMERIC) handelt?
Liegt es evtl. daran, dass es sich nicht um Kontrollfelder sondern um Texfelder (AuzugDatum Feldtyp Datum (DATE), OffenBezahlt Feldtyp Zahl (NUMERIC) handelt?
Re: Macro für automatische Wertsetzung
Hallo,
versuch es in der blau markierten Zeile mal mit .date statt .Text
Gruß R
versuch es in der blau markierten Zeile mal mit .date statt .Text
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Macro für automatische Wertsetzung
Es kommt leider die gleiche Fehlermeldung
Re: Macro für automatische Wertsetzung
Hallo,
heißt das Datumsfeld wirklich "AuszugDatum"? Der im Makro zu verwendende Name ist der, den Du findest, wenn Du im Bearbeitungsmodus des Formulares einen Rechtsklick auf den Spaltenkopf "AuszugDatum" machst, "Spalte..." anklickst und dann auf dem Reiter "Allgemein" das Feld "Name" anschaust.
Gruß R
heißt das Datumsfeld wirklich "AuszugDatum"? Der im Makro zu verwendende Name ist der, den Du findest, wenn Du im Bearbeitungsmodus des Formulares einen Rechtsklick auf den Spaltenkopf "AuszugDatum" machst, "Spalte..." anklickst und dann auf dem Reiter "Allgemein" das Feld "Name" anschaust.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Macro für automatische Wertsetzung
Hast Du xray installiert?
(http://sourceforge.net/projects/ooomacr ... ion%205.2/) oder so...
NoSuchElement bedeutet, dass es kein Kontrollelement (KE) mit dem Namen "AuszugDatum" gibt. Den Namen eines KEs kannst Du am leichtesten im Formularnavigator ablesen - da siehst Du auch in welchem Formular-Objekt Dein KE zu Hause ist.
ops - da war ich zu langsam
(http://sourceforge.net/projects/ooomacr ... ion%205.2/) oder so...
NoSuchElement bedeutet, dass es kein Kontrollelement (KE) mit dem Namen "AuszugDatum" gibt. Den Namen eines KEs kannst Du am leichtesten im Formularnavigator ablesen - da siehst Du auch in welchem Formular-Objekt Dein KE zu Hause ist.
ops - da war ich zu langsam

g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
Re: Macro für automatische Wertsetzung
Hallo,
es sieht so aus, als ob das Feld "AuszugDatum" sich auf dem Unterformular befindet.
mit wird aber das Hauptformular angesprochen.
mit suchst Du die Spalte "AuszugDatum" quasi im Hauptformular.
Ausserdem befindet sich die Spalte in einem Tabellenkontrollfeld.
Der richtige Weg zu deiner Spalte, den Du am besten mit dem Formularnavigator ergründest, wie gogo gerade geschrieben hat,
lautet vermutlich:
oder in einer Zeile:
mit oAuszugDatum.date liest Du dann das Datum aus.
Gruß R
Edit:
Im hier dargestellten Beispiel: wäre der Weg:
es sieht so aus, als ob das Feld "AuszugDatum" sich auf dem Unterformular befindet.
mit
Code: Alles auswählen
oForm=stardesktop.currentComponent.drawpage.forms.getbyindex(0)
mit
Code: Alles auswählen
oform.getbyname("AuszugDatum")
Ausserdem befindet sich die Spalte in einem Tabellenkontrollfeld.
Der richtige Weg zu deiner Spalte, den Du am besten mit dem Formularnavigator ergründest, wie gogo gerade geschrieben hat,
lautet vermutlich:
Code: Alles auswählen
oForm =stardesktop.currentComponent.drawpage.forms.getbyname("Name des Hauptformulares")
oFormSub = oForm.getbyname("Name des Unterformulares")
ogrid = oFormSub.getbyname("Name des Tabellenkontrollfeldes")
oAuszugDatum = ogrid.getbyname("AuszugDatum")
Code: Alles auswählen
oAuszugDatum = stardesktop.currentComponent.drawpage.forms.getbyname("Name des Hauptformulares").getbyname("Name des Unterformulares").getbyname("Name des Tabellenkontrollfeldes").getbyname("AuszugDatum")
Gruß R
Edit:
Im hier dargestellten Beispiel: wäre der Weg:
Code: Alles auswählen
oForm =stardesktop.currentComponent.drawpage.forms.getbyname("MainForm")
oFormSub = oForm.getbyname("SubForm")
ogrid = oFormSub.getbyname("SubForm_Grid")
oAuszugDatum = ogrid.getbyname("AuszugDatum")
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Macro für automatische Wertsetzung
Es klappt leider nicht bzw. ich schaffe es nicht. Es gibt bei mir auch kein SubForm_Grid.
Vielleicht könnt ihr mir weiterhelfen, wenn ich die DB anhänge.
Vielleicht könnt ihr mir weiterhelfen, wenn ich die DB anhänge.
- Dateianhänge
-
- Kundendatei.zip
- (57.36 KiB) 333-mal heruntergeladen
Re: Macro für automatische Wertsetzung
Hallo,
nein es gibt kein Subform_Grid, aber es gibt ein "Tabellen-Kontrollfeld 1".
Wie schon gesagt, schau dir das mit dem Formularnavigator an, dann geht es ganz leicht.
Ich habe Dich auch darauf hingewiesen, zu schauen wie das Feld "AuszugDatum" heißt, der Name lautet: "DateField3"
Und das Feld in das Du hineinschreiben möchtest, "OffenBezahlt", liegt auf dem "SubForm".
Siehe Bild: Also muß das Makro so geändert werden.
Alle Feld/Tabellen/Formularnamen kannst Du auch ändern, dann mußt Du aber das Makro anpassen.
Viel Erfolg
Gruß R
nein es gibt kein Subform_Grid, aber es gibt ein "Tabellen-Kontrollfeld 1".
Wie schon gesagt, schau dir das mit dem Formularnavigator an, dann geht es ganz leicht.
Ich habe Dich auch darauf hingewiesen, zu schauen wie das Feld "AuszugDatum" heißt, der Name lautet: "DateField3"
Und das Feld in das Du hineinschreiben möchtest, "OffenBezahlt", liegt auf dem "SubForm".
Siehe Bild: Also muß das Makro so geändert werden.
Code: Alles auswählen
sub Feldwert_setzen
oForm =stardesktop.currentComponent.drawpage.forms.getbyname("MainForm")
oFormSub = oForm.getbyname("SubForm")
ogrid = oFormSub.getbyname("Tabellen-Kontrollfeld 1")
oAuszugDatum = ogrid.getbyname("DateField3")
select case oAuszugDatum.date
case "",0,null
case else
oFormSub.getByName("OffenBezahlt").text = 1
end select
end sub
Viel Erfolg
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
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.