🙏 Helfen Sie jetzt 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!🍀

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

Markierfelder leeren

Alles zur Programmierung im LibreOffice.
Antworten
datklos
Beiträge: 5
Registriert: Do 3. Sep 2015, 13:43

Markierfelder leeren

Beitrag von datklos » Do 3. Sep 2015, 14:02

Hallo,

ich habe eine Adressdatenbank mit einem externen Formular, das dazu dient, über ein Tabellen-Kontrollfeld eine Adressauswahl zu treffen und diese zu exportieren. Dazu habe ich ein Markierfeld eingebaut. Der Export der Auswahl in eine Datei per Makro funktioniert wunderbar. Abschließend müsste allerdings die Auswahl zurückgesetzt werden. Und hier komme ich einfach nicht weiter.

Code: Alles auswählen

SUB Export_Auswahl
DIM oMailMerge AS OBJECT
DIM aProps()
oMailMerge = createunoservice("com.sun.star.text.MailMerge")
oMailMerge.DataSourceName = "Datenbank"
oMailMerge.DocumentURL = ConvertToUrl("file:...")
oMailMerge.SaveAsSingleFile = 1
oMailMerge.CommandType = 1
oMailMerge.Command = "qAuswahl"
oMailMerge.Filter = """Auswahl""=1"
oMailMerge.SaveAsSingleFile = true
oMailMerge.OutputType = 2
oMailMerge.OutputUrl = "file:..."
oMailMerge.execute(aProps())
END SUB
Kann mir jemand dabei helfen, wie ich den Status des Markierfeldes aller Datensätze nach dem Export wieder auf 0 setzen kann?

Herzlich Dank im Voraus.

Klos

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Markierfelder leeren

Beitrag von F3K Total » Do 3. Sep 2015, 19:43

Hallo,
versuche es mal so

Code: Alles auswählen

SUB Export_Auswahl
DIM oMailMerge AS OBJECT
DIM aProps()
oMailMerge = createunoservice("com.sun.star.text.MailMerge")
oMailMerge.DataSourceName = "Datenbank"
oMailMerge.DocumentURL = ConvertToUrl("file:...")
oMailMerge.SaveAsSingleFile = 1
oMailMerge.CommandType = 1
oMailMerge.Command = "qAuswahl"
oMailMerge.Filter = """Auswahl""=1"
oMailMerge.SaveAsSingleFile = true
oMailMerge.OutputType = 2
oMailMerge.OutputUrl = "file:..."
oMailMerge.execute(aProps())

oDatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
oDatasource = oDatabaseContext.getByName("Datenbank")
oConnection = oDatasource.GetConnection("","")'
SQL_Statement = oConnection.createStatement()
sSQL = "Update ""TABELLE1"" set ""Auswahl"" = false"
'Hier muß statt TABELLE1 die Tabelle, in der die Auswahl angehakt wird, stehen. Das "false" geht bei einer BOOLEAN Spalte, hast du wirklich Zahlen, must du stattdessen vermutlich die 0 (Null) setzen.
SQL_Statement.executeupdate(sSQL)
END SUB
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

datklos
Beiträge: 5
Registriert: Do 3. Sep 2015, 13:43

Re: Markierfelder leeren

Beitrag von datklos » Fr 4. Sep 2015, 09:12

Liebe(r) R,

es funktioniert! Vielen herzlichen Dank für die Mühe!

Gruß,
Klos


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