von Stephan » Fr, 11.12.2020 16:13
WAs der Screenshot sagen soll ist mr unklar.
Werte aus einer bestehenden Datenbank bekommt man z.B. so in eine Combobox (ThisDatabaseDocument entspricht im Beispiel dem *.odb-Dokument, ThisComponent entspricht, aus Sicht des Makros, einem Formular innerhalb des *.odb-Dokuments):
Code: Alles auswählen
DbName = ThisDatabaseDocument.DataSource.Name
DataSource = createUnoService("com.sun.star.sdb.DatabaseContext").getByName(DbName)
Connection = DataSource.GetConnection("","")
oStatement = Connection.createStatement()
xe = oStatement.executeQuery("Select ""Firmenname"" , ""Abteilung"" FROM ""Firma"" ORDER BY ""Firmenname"" ASC")
Do While xe.Next
tmp = UBOUND(listeninhalt())
Redim Preserve listeninhalt(tmp + 1)
If Len(xe.getString(2)) > 0 Then
listeninhalt(tmp + 1) = xe.getString(1) & " [" & xe.getString(2) & "]"
Else
listeninhalt(tmp + 1) = xe.getString(1)
End If
Loop
ThisComponent.drawpage.forms.getbyindex(0).getByName("combo_1").StringItemList = listeninhalt()
Gruß
Stephan
WAs der Screenshot sagen soll ist mr unklar.
Werte aus einer bestehenden Datenbank bekommt man z.B. so in eine Combobox (ThisDatabaseDocument entspricht im Beispiel dem *.odb-Dokument, ThisComponent entspricht, aus Sicht des Makros, einem Formular innerhalb des *.odb-Dokuments):
[code] DbName = ThisDatabaseDocument.DataSource.Name
DataSource = createUnoService("com.sun.star.sdb.DatabaseContext").getByName(DbName)
Connection = DataSource.GetConnection("","")
oStatement = Connection.createStatement()
xe = oStatement.executeQuery("Select ""Firmenname"" , ""Abteilung"" FROM ""Firma"" ORDER BY ""Firmenname"" ASC")
Do While xe.Next
tmp = UBOUND(listeninhalt())
Redim Preserve listeninhalt(tmp + 1)
If Len(xe.getString(2)) > 0 Then
listeninhalt(tmp + 1) = xe.getString(1) & " [" & xe.getString(2) & "]"
Else
listeninhalt(tmp + 1) = xe.getString(1)
End If
Loop
ThisComponent.drawpage.forms.getbyindex(0).getByName("combo_1").StringItemList = listeninhalt()
[/code]
Gruß
Stephan