🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
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: 2515
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:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten