ich bekomme die Fehlermeldung:
"Eigenschaft oder Methode nicht gefunden: Drawpage."
bei der Subroutine "datenfelder_leeren",
obwohl ich diese Codezeilen schon bei älteren Programmen verwendet habe.
In der jetzigen Version mit Libreoffice
Version: 26.8.0.3 (X86_64)
Build ID: 680(Build:3)
CPU threads: 2; OS: Linux 7.2; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: de-DE
Calc: threaded
unter Opensuse Tumbleweed binich ratlos.
Den Quellcode lege ich einmal bei.
Code: Alles auswählen
Dim DatabaseContext As Object
Dim DataSource As Object
Dim Connection As Object
Dim Statement As Object
Dim DbName As String
Dim DatenbankArray() As String
Dim oDoc as Object
Dim odrawpage as Object
Dim oForm as Object
Dim i As Integer
Sub Datenbankkontakt(Sql As String, ByRef ResultSet As Object)
DbName = "Heimbibliothek"
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
'Liste aller verfügbaren Datenbanken (optional)
DatenbankArray = DatabaseContext.getElementNames() ' Nur wenn du alle Namen sehen willst
For i = 0 To UBound(DatenbankArray)
MsgBox DatenbankArray(i)
Next i
DataSource = DatabaseContext.getByName(DbName)
Connection = DataSource.getConnection("", "")
Statement = Connection.createStatement()
ResultSet = Statement.executeQuery(Sql)
MsgBox "SQL ausgeführt erfolgreich!", 64, "Erfolg"
End Sub
Sub datenfelder_leeren
oDoc = thisComponent 'das Dokument
odrawpage = oDoc.Drawpage 'Zeichenfläche des Formulars der Datenbank
oForm = odrawpage.Forms.getByName("Heimbibliothek") 'das Formular selbst
oForm.getByName("txtHB-titel").Text = ""
oForm.getByName("txtHB-thema").Text = ""
oForm.getByName("txtHB-autor").Text = ""
oForm.getByName("txtHB-medium").Text = ""
oForm.getByName("txtHB-lagerort").Text = ""
End Sub
Mit Gruß Werner

