💚 BITTE helfen Sie uns NOCH 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. 🤗
[gelöst] Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
-
- Beiträge: 137
- Registriert: Sa 17. Sep 2016, 18:31
[gelöst] Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Hallo,
ich habe eine sehr schöne DB die mir gute Dienste leistet, aber be Makros fehlt mir die Grundlage und die Übung. Es wäre nett, wenn ich ein Lösungsbeispiel oder einen Hinweis auf eine Beispieldatenbank bekommen könnte. Ich habe Roberts Anleitungen gelesen und durchforstet, aber wenn ich mir das aneignen soll, nur für eine kleine Erweiterung, dann muss ich kapitulieren. Ich verwende Makros zur Anzeige von Bildern etc, aber hier
Ich möchte in Einem Formular nach Auswahl eines Listenfeldes ein Dezimalfeld/Textfeld mit einem Wert aus der gleichen Tabelle befüllen. Als Beispiel habe ich eine winzige Beispiel-DB angehängt. Dort soll in dem Formular "Stromverbraucher...." nach Auswahl des Listfeldes "Leuchtmittel" aus der Tabelle "Beleuchtungskörper" das Dezimalfeld "kWh" im Formular mit dem das dazugehörigen Wert "Leistungsaufnahme_kW/h" aus der Tabelle "Beleuchtungskörper" gefüllt werden.
Für Makro-Wissende sicher eine einfache Übung, für mich aber zu schwer. Für mich ist es schon sehr sehr mühsam, nach ein paar Jahren die DB zu erweitern, wenn man nicht dauernd mit dem Backend zu tun hat....
Vielen Dank schon jetzt für die Hilfe Hans
ich habe eine sehr schöne DB die mir gute Dienste leistet, aber be Makros fehlt mir die Grundlage und die Übung. Es wäre nett, wenn ich ein Lösungsbeispiel oder einen Hinweis auf eine Beispieldatenbank bekommen könnte. Ich habe Roberts Anleitungen gelesen und durchforstet, aber wenn ich mir das aneignen soll, nur für eine kleine Erweiterung, dann muss ich kapitulieren. Ich verwende Makros zur Anzeige von Bildern etc, aber hier
Ich möchte in Einem Formular nach Auswahl eines Listenfeldes ein Dezimalfeld/Textfeld mit einem Wert aus der gleichen Tabelle befüllen. Als Beispiel habe ich eine winzige Beispiel-DB angehängt. Dort soll in dem Formular "Stromverbraucher...." nach Auswahl des Listfeldes "Leuchtmittel" aus der Tabelle "Beleuchtungskörper" das Dezimalfeld "kWh" im Formular mit dem das dazugehörigen Wert "Leistungsaufnahme_kW/h" aus der Tabelle "Beleuchtungskörper" gefüllt werden.
Für Makro-Wissende sicher eine einfache Übung, für mich aber zu schwer. Für mich ist es schon sehr sehr mühsam, nach ein paar Jahren die DB zu erweitern, wenn man nicht dauernd mit dem Backend zu tun hat....
Vielen Dank schon jetzt für die Hilfe Hans
- Dateianhänge
-
- Beispiel_Makro.odb.zip
- (14.12 KiB) 199-mal heruntergeladen
Zuletzt geändert von HansGerstenkorn am Mo 4. Mär 2019, 13:28, insgesamt 1-mal geändert.
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;
Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;
Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;
Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Hallo Hans,
so ganz verstehe ich das nicht. Soll der Inhalt des Dezimalfeldes/Textfeldes anschließend noch angepasst werden können oder reicht die Darstellung? Wenn es nur um die Darstellung geht, dann recht doch eine entsprechende Abfrage für das Listenfeld, in dem der Inhalt nebeneinander dargestellt wird - Feldverbindungen mit ||. Wenn aber der Inhalt verändert werden soll: Welcher Inhalt soll "vorgeschlagen" werden: Der Größte, der kleinste, ein Mittelwert ...
So etwas kannst Du natürlich über Makros regeln. In dem Falle musst Du den currentValue des Listenfeldes auslesen. Da das Makro beim Ändern des Listenfeldes ausgelöst werden sollte, geht das über
Diesen Wert musst Du dann in die SQL-Formulierung einbauen, mit der Du die anderen Werte ermitteln willst. Wie SQL-Abfrage gestartet werden geht aus vielen Makros im Handbuch hervor. Hier ein Beispiel:
Die so ermittelten Feldinhalte kannst Du dann den entsprechenden Feldern zuweisen.
Ist jetzt alles nicht direkt umsetzbar, da ich nicht genau weiß, was Du heraus bekommen willst.
Gruß
Robert
so ganz verstehe ich das nicht. Soll der Inhalt des Dezimalfeldes/Textfeldes anschließend noch angepasst werden können oder reicht die Darstellung? Wenn es nur um die Darstellung geht, dann recht doch eine entsprechende Abfrage für das Listenfeld, in dem der Inhalt nebeneinander dargestellt wird - Feldverbindungen mit ||. Wenn aber der Inhalt verändert werden soll: Welcher Inhalt soll "vorgeschlagen" werden: Der Größte, der kleinste, ein Mittelwert ...
So etwas kannst Du natürlich über Makros regeln. In dem Falle musst Du den currentValue des Listenfeldes auslesen. Da das Makro beim Ändern des Listenfeldes ausgelöst werden sollte, geht das über
Code: Alles auswählen
SUB WerteAnpassen(oEvent AS OBJECT)
oListbox = oEvent.Source.Model
oForm = oListbox.Parent
stValue = oListbox.CurrentValue
END SUB
Code: Alles auswählen
stSql = "" 'String, den Du zusammenstellen musst, in dem auch stValue eingebaut wird.
oDatenquelle = ThisComponent.Parent.CurrentController
If NOT (oDatenquelle.isConnected()) THEN
oDatenquelle.connect()
END IF
oVerbindung = oDatenquelle.ActiveConnection()
oSQL_Anweisung = oVerbindung.createStatement()
oAbfrageergebnis = oSQL_Anweisung.executeQuery(stSql)
WHILE oAbfrageergebnis.next
stText1 = oAbfrageergebnis.getString(1)
doZahl = oAbfrageergebnis.getDouble(2)
WEND
Code: Alles auswählen
oField1 = oForm.getByName("Textfeld")
oField2 = oForm.getByName("Dezimalzahlfeld")
oField1.BoundField.UpdateString(stText1)
oField2.BoundField.UpdateDouble(doZahl)
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
-
- Beiträge: 137
- Registriert: Sa 17. Sep 2016, 18:31
Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Hallo Robert,
vielen Dank für Deine schnelle Antwort, ich habe mich sicher nicht ganz verständlich ausgedrückt und mein Formular beinhaltet auch etwas mehr Daten. Hintergrund meiner DB ist, dass ich u.a.meinen Stromverbrauch nach "Stromverbrauchern" aufschlüssele (macht einfach Spaß und ist auch interessant). Nachdem LED ja Glühbirnen ersetzen ergibt sich auch ein anderer Verbrauch und so muss ich "nachbessern" und damit das einfacher geht, will ich einfach die kWh eines Beleuchtungskörpers (Glühbirne oder so) übernehmen um dann weitergehend je nach Einschaltzeiten pro Tag und Jahreszeiten den Jahresstromverbrauch zu schätzen (auch anhand von Messungen). Ich würde es einfach toll finden, wenn ich das Feld des ausgesuchten Beleuchtungskörpers gleich mit der hinterlegten Wattzahl füllen könnte, anstatt anhand einer eingebundenen Tabelle auslesen und "händisch" einzugeben.... Das ist der einzige Hintergrund für das Makro.
Also zurückkommend auf deine Frage: Der kWh des mit Listenfeld ausgesuchten Beleuchtungskörpers soll nur im Dezimalfeld eingesetzt werden und wird nicht mehr verändert. Im angehängten Screenshot siehst du weitere Felder, die ich (leider auch mangels Makrokenntnisse) dann berechne um zu einem Jahresstromverbrauch zu kommen....
Für dich zur Info: Ich habe meinem Formular Stromverbraucher mal einen Screenshot angehängt. Mittlerweile habe ich natürlich nicht nur die Hersteller und Lieferanten integriert, sondern auch alle Einkäufe und das nicht nur für die "Glühbirnen" sondern für alle "Verbraucher" - also Heizung inclusive. Ölkauf, Wasser und Verbrauchsprognosen etc.. etc.
vielen Dank für Deine schnelle Antwort, ich habe mich sicher nicht ganz verständlich ausgedrückt und mein Formular beinhaltet auch etwas mehr Daten. Hintergrund meiner DB ist, dass ich u.a.meinen Stromverbrauch nach "Stromverbrauchern" aufschlüssele (macht einfach Spaß und ist auch interessant). Nachdem LED ja Glühbirnen ersetzen ergibt sich auch ein anderer Verbrauch und so muss ich "nachbessern" und damit das einfacher geht, will ich einfach die kWh eines Beleuchtungskörpers (Glühbirne oder so) übernehmen um dann weitergehend je nach Einschaltzeiten pro Tag und Jahreszeiten den Jahresstromverbrauch zu schätzen (auch anhand von Messungen). Ich würde es einfach toll finden, wenn ich das Feld des ausgesuchten Beleuchtungskörpers gleich mit der hinterlegten Wattzahl füllen könnte, anstatt anhand einer eingebundenen Tabelle auslesen und "händisch" einzugeben.... Das ist der einzige Hintergrund für das Makro.
Also zurückkommend auf deine Frage: Der kWh des mit Listenfeld ausgesuchten Beleuchtungskörpers soll nur im Dezimalfeld eingesetzt werden und wird nicht mehr verändert. Im angehängten Screenshot siehst du weitere Felder, die ich (leider auch mangels Makrokenntnisse) dann berechne um zu einem Jahresstromverbrauch zu kommen....
Für dich zur Info: Ich habe meinem Formular Stromverbraucher mal einen Screenshot angehängt. Mittlerweile habe ich natürlich nicht nur die Hersteller und Lieferanten integriert, sondern auch alle Einkäufe und das nicht nur für die "Glühbirnen" sondern für alle "Verbraucher" - also Heizung inclusive. Ölkauf, Wasser und Verbrauchsprognosen etc.. etc.
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;
Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;
Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;
Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Hallo Hans,
die Screenshots fehlen. Wenn es nur darum geht, die elektrische Energie anzuzeigen (das ist kein "Stromverbrauch" - "Strom" wird in Ampere gemessen), dann reicht doch ein Listenfeld aus, in dem sowohl die Lampe als auch die Energie, die sie umsetzt, angezeigt werden können. Grob in SQL:
So etwas ähnliches als Code für das Listenfeld und Du brauchst nicht irgendetwas über Makro in ein selbständiges Feld legen.
Gruß
Robert
die Screenshots fehlen. Wenn es nur darum geht, die elektrische Energie anzuzeigen (das ist kein "Stromverbrauch" - "Strom" wird in Ampere gemessen), dann reicht doch ein Listenfeld aus, in dem sowohl die Lampe als auch die Energie, die sie umsetzt, angezeigt werden können. Grob in SQL:
Code: Alles auswählen
SELECT "Gegenstand"||' - E:'||"Energie"||' kWh', "ID" FROM "Verbraucher"
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
-
- Beiträge: 137
- Registriert: Sa 17. Sep 2016, 18:31
Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Hallo Robert,
vielen Dank für deine schnelle Nachricht und sorry, den Screenshot konnte ich jetzt anhängen, hatte gestern den Status bei den Anhängen nicht kontrolliert und gerade erst jetzt gesehen, dass png-Dateien augenscheinlich nicht angehängt werden können, jetzt mit JPG geht das.
Nur zur Info: Ich habe die Umstellung auf das MacBook nach rund einem Jahr gut bewältigt, stolpere aber immer noch über solche Kleinigkeiten, gestern hatte ich immer wieder Probleme bei SQL-Werten zur Anzeige der Listenfeldinhalte von der Beispiel-DB, bis ich dann mühsam durch einzelnen Buchstabenvergleich herausgefunden hatte, dass beim "Zwischenkopieren" (LO-DB "copy" > paste in die MAC-Anwendung "TextEdit" > dort copy > dann paste in LO-Beispiel-DB) aus "geraden Anführungszeichen" "schräge Anführungszeichen" wurden und so einen Fehler produzierten.....
Hinzu kam dann auch noch, dass ich seit langem keine Infomobils bekam, weshalb ich meine Mailadresse hier im Account änderte, dann kam ich aber nicht mehr in's Konto, die Aktivierungsmail war weg, Schreiben an den Admin, Haber es aber heute früh geschafft und bin wieder im Account.
Wenn du jetzt etwas Zeit hast, hier ich meine Erklärung zu deiner Frage:
Ja, Physik fasziniert mich schon immer, aber im "Alltag" bringe ich immer noch Begriffe durcheinander..... Und nun zum Formular,
- der jeweilige Wert (kWh) der übernommen werden soll, ist die Grundlage für die weiterführende Verwendung um den Jahresstromverbrauch zu ermitteln.
- dieser Wert wird in eine Tabelle übernommen mit der ich dann den Jahresstromverbrauch ermittle, (Anzahl Glühbirnen/Beleuchtungskörper mal durchschnittliche Brenndauer usw. usw.) Da ich nicht jeden Stromverbraucher 12 Monate messen kann, habe ich zu unterschiedlichen Jahreszeiten jeweils ein paar Wochen gemessen und hochgerechnet.
- Bei den Stromverbrauchern wiederum sind Lampen mit 1 bis 4 "Glühbirnen" unterschiedlicher Typen...
- Jetzt habe ich auch noch die vom Hersteller angegebenen Brenndauern und das Kaufdatum sowie Kaufbelege in die DB aufgenommen, um immer gleich die Unterlagen bei Reklamationen passen zu haben - ich hatte schon nach 2 Jahren 3 LED-Reklamationen....
So, ich hoffe, du kannst jetzt nachvollziehen, weshalb ich den Wert getrennt haben möchte, vielen Dank noch einmal und ein schönes Wochenende
Hans
vielen Dank für deine schnelle Nachricht und sorry, den Screenshot konnte ich jetzt anhängen, hatte gestern den Status bei den Anhängen nicht kontrolliert und gerade erst jetzt gesehen, dass png-Dateien augenscheinlich nicht angehängt werden können, jetzt mit JPG geht das.
Nur zur Info: Ich habe die Umstellung auf das MacBook nach rund einem Jahr gut bewältigt, stolpere aber immer noch über solche Kleinigkeiten, gestern hatte ich immer wieder Probleme bei SQL-Werten zur Anzeige der Listenfeldinhalte von der Beispiel-DB, bis ich dann mühsam durch einzelnen Buchstabenvergleich herausgefunden hatte, dass beim "Zwischenkopieren" (LO-DB "copy" > paste in die MAC-Anwendung "TextEdit" > dort copy > dann paste in LO-Beispiel-DB) aus "geraden Anführungszeichen" "schräge Anführungszeichen" wurden und so einen Fehler produzierten.....
Hinzu kam dann auch noch, dass ich seit langem keine Infomobils bekam, weshalb ich meine Mailadresse hier im Account änderte, dann kam ich aber nicht mehr in's Konto, die Aktivierungsmail war weg, Schreiben an den Admin, Haber es aber heute früh geschafft und bin wieder im Account.
Wenn du jetzt etwas Zeit hast, hier ich meine Erklärung zu deiner Frage:
Ja, Physik fasziniert mich schon immer, aber im "Alltag" bringe ich immer noch Begriffe durcheinander..... Und nun zum Formular,
- der jeweilige Wert (kWh) der übernommen werden soll, ist die Grundlage für die weiterführende Verwendung um den Jahresstromverbrauch zu ermitteln.
- dieser Wert wird in eine Tabelle übernommen mit der ich dann den Jahresstromverbrauch ermittle, (Anzahl Glühbirnen/Beleuchtungskörper mal durchschnittliche Brenndauer usw. usw.) Da ich nicht jeden Stromverbraucher 12 Monate messen kann, habe ich zu unterschiedlichen Jahreszeiten jeweils ein paar Wochen gemessen und hochgerechnet.
- Bei den Stromverbrauchern wiederum sind Lampen mit 1 bis 4 "Glühbirnen" unterschiedlicher Typen...
- Jetzt habe ich auch noch die vom Hersteller angegebenen Brenndauern und das Kaufdatum sowie Kaufbelege in die DB aufgenommen, um immer gleich die Unterlagen bei Reklamationen passen zu haben - ich hatte schon nach 2 Jahren 3 LED-Reklamationen....
So, ich hoffe, du kannst jetzt nachvollziehen, weshalb ich den Wert getrennt haben möchte, vielen Dank noch einmal und ein schönes Wochenende
Hans
- Dateianhänge
-
- Screenshot_Stromverbraucher.jpg (701.04 KiB) 3783 mal betrachtet
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;
Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;
Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;
Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Hallo Hans,
ich habe das einmal im Zusammenhang erstellt. Allerdings passt das nicht zu Deiner Datenbank, da ich nicht weiß, aus welcher Quelle Du die kWh auslesen willst:
ich habe das einmal im Zusammenhang erstellt. Allerdings passt das nicht zu Deiner Datenbank, da ich nicht weiß, aus welcher Quelle Du die kWh auslesen willst:
Code: Alles auswählen
SUB WerteAnpassen(oEvent AS OBJECT)
oListbox = oEvent.Source.Model
oForm = oListbox.Parent
inID = oListbox.CurrentValue
stSql = "SELECT ""Leistungsaufnahme_kW/h"" FROM ""Beleuchtungskoerper"" WHERE ""ID"" = '"+inID+"'"
oDatenquelle = ThisComponent.Parent.CurrentController
If NOT (oDatenquelle.isConnected()) THEN
oDatenquelle.connect()
END IF
oVerbindung = oDatenquelle.ActiveConnection()
oSQL_Anweisung = oVerbindung.createStatement()
oAbfrageergebnis = oSQL_Anweisung.executeQuery(stSql)
WHILE oAbfrageergebnis.next
doZahl = oAbfrageergebnis.getDouble(1)
WEND
oField1 = oForm.getByName("fmtkWh")
oField1.BoundField.UpdateDouble(doZahl)
END SUB
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
-
- Beiträge: 137
- Registriert: Sa 17. Sep 2016, 18:31
Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Hallo Robert,
vielen Dank für deine schnelle Nachricht und das Makro. Du hast sicher schon erwartet, dass ich Nachfragen habe, nicht zuletzt, weil es mir einen Fehler bringt. Die Tabellen im Makro stimmen Ich habe deshalb das das Makro in die Schaltfläche "Schaltfläche" integriert und hänge die Beispiel-DB noch einmal an, vielleicht ist es für dich einfacher, einfach mal mit einem Klick das Ergebnis zu sehen....
Mich würde aber trotzdem mal interessieren, ob es irrelevant bei einem Makro ist, wo Leerzeichen stehen. Bei der Zeile
stSql = "SELECT ""Leistungsaufnahme_kW/h"" FROM ""Beleuchtungskoerper"" WHERE ""ID"" = '"+inID+"'"
ist bei SELECT hinter dem T ein Leerzeichen, ansonsten bei den Bedingungen nicht...
Und wenn du noch etwas Zeit hast, wo wird im Makro definiert, dass sich das Ergebnis aus SELECT auf den vorher im Listfeld ausgewählten Beleuchtungskörper bezieht?
Viele Grüße
Hans
vielen Dank für deine schnelle Nachricht und das Makro. Du hast sicher schon erwartet, dass ich Nachfragen habe, nicht zuletzt, weil es mir einen Fehler bringt. Die Tabellen im Makro stimmen Ich habe deshalb das das Makro in die Schaltfläche "Schaltfläche" integriert und hänge die Beispiel-DB noch einmal an, vielleicht ist es für dich einfacher, einfach mal mit einem Klick das Ergebnis zu sehen....
Mich würde aber trotzdem mal interessieren, ob es irrelevant bei einem Makro ist, wo Leerzeichen stehen. Bei der Zeile
stSql = "SELECT ""Leistungsaufnahme_kW/h"" FROM ""Beleuchtungskoerper"" WHERE ""ID"" = '"+inID+"'"
ist bei SELECT hinter dem T ein Leerzeichen, ansonsten bei den Bedingungen nicht...
Und wenn du noch etwas Zeit hast, wo wird im Makro definiert, dass sich das Ergebnis aus SELECT auf den vorher im Listfeld ausgewählten Beleuchtungskörper bezieht?
Viele Grüße
Hans
- Dateianhänge
-
- Beispiel_Makro.odb.zip
- (15.6 KiB) 184-mal heruntergeladen
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;
Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;
Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;
Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Hallo Hans,
habe mir deine DB angesehen, da sind doch noch zwei Kinken drin:
Führe folgenden Befehl einmal über Menü Extras/SQL... aus:Damit erzeugst du zunächst eine DECIMAL Spalte, ließt die VARCHAR Werte in die Spalte ein, löschst die VARCHAR Spalte und gibst der DECIMAL-Spalte den "alten" Namen wieder. Dann folgt noch eine Komprimierung der Datenbank.
Jetzt kannst du das Makro ausführen, es trägt die Leistungsaufnahme_kW/h ein, danach die Zeile Speichern nicht vergessen.
Gruß R (nicht Robert)
habe mir deine DB angesehen, da sind doch noch zwei Kinken drin:
- Du führst das Makro über eine Schaltfläche aus, willst aber mit SUB WerteAnpassen(oEvent AS OBJECT), das auslösende Objekt auslesen, also das Listenfeld in dem du den Beleuchtungskörper auswählst. Damit das Makro dafür geeignet ist, muss es also an das Listefeld und nicht an eine Schaltfläche gebunden sein. Ich würde das Ereignis "Status geändert" wählen.
- In deiner Tabelle "Beleuchtungskörper" stehen die Werte für die Leistungsaufnahme in einer VARCHAR-Spalte, im Makro willst du aber mit eine DECIMAL-Spalte befüllen, geht nicht.
Code: Alles auswählen
oField1.BoundField.UpdateDouble(doZahl)
Führe folgenden Befehl einmal über Menü Extras/SQL... aus:
Code: Alles auswählen
alter table "Beleuchtungskoerper" add "Leistungsaufnahme_kW/h2" decimal(10,2) before "Leistungsaufnahme_kW/h";
update "Beleuchtungskoerper" set "Leistungsaufnahme_kW/h2" = CAST(REPLACE("Leistungsaufnahme_kW/h",',','.') as DECIMAL(10,2));alter table "Beleuchtungskoerper" drop "Leistungsaufnahme_kW/h";
alter table "Beleuchtungskoerper" alter "Leistungsaufnahme_kW/h2" rename to "Leistungsaufnahme_kW/h";
Checkpoint defrag
Jetzt kannst du das Makro ausführen, es trägt die Leistungsaufnahme_kW/h ein, danach die Zeile Speichern nicht vergessen.
Gruß R (nicht Robert)
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Danke, F3K, dass Du Dich dazu schaltest. War gerade nicht verfügbar.
... und lustig, dass Du mittlerweile darauf hinweist, dass R. eine andere Person als Robert ist.
Gruß
Robert
... und lustig, dass Du mittlerweile darauf hinweist, dass R. eine andere Person als Robert ist.
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: Makro soll Dezimalfeld/Textfeld ja nach Listenfeldauswahl befallen
Nun, nur in diesem "Übernahme-Fall", ansonsten kann der aufmerksame Leser uns sicher an unserer Signatur erkennen ... Dir noch ein schönes Wochenende ...
Windows 10: AOO, LO Linux Mint: AOO, LO
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 ❤️