🙏 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!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Alles zur Programmierung im LibreOffice.
-
datklos
- Beiträge: 5
- Registriert: Do 3. Sep 2015, 13:43
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
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
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.