Ich antworte mir einmal selbst - vielleicht gibt es ja Listige, die den
Denkfehler finden:
Ich habe ein Makro zusammengebaut:
Sub ListboxNeu()
DIM Datenquelle AS OBJECT
DIM Verbindung AS OBJECT
DIM SQL_Anweisung AS OBJECT
DIM Abfrageergebnis AS OBJECT
DIM Sql AS STRING
DIM odoc AS OBJECT
DIM odrawpage AS OBJECT
DIM oform AS OBJECT
DIM oListBox AS OBJECT
DIM counter AS INTEGER
odoc=thisComponent
odrawpage=odoc.drawpage
oform=odrawpage.forms.getByName("Standard")
DocCrl = ThisComponent.getCurrentController()
oControl=oform.getByName("ListBox")
oListBox = DocCrl.GetControl(oControl)
REM MsgBox oControl.BoundField.dbg_methods
oListBox.removeItems(0, oListBox.getItemCount())
Datenquelle = ThisComponent.Parent.DataSource
Verbindung = Datenquelle.GetConnection("","")
SQL_Anweisung = Verbindung.createStatement()
Sql = "SELECT ""Gegenstand"",""ID"" FROM ""Gegenstand"" WHERE
""berID""=2
ORDER BY ""Gegenstand"" "
Abfrageergebnis = SQL_Anweisung.executeQuery(Sql)' Ergebnis auswerten
IF NOT ISNULL(Abfrageergebnis) THEN
WHILE Abfrageergebnis.next
oListBox.addItem(Abfrageergebnis.getString(1), counter)' Erstes
Datenfeld
oControl.BoundField.updateInt(Abfrageergebnis.getInt(2))' Zweites
Datenfeld
counter = counter+1
WEND ' naechster Datensatz
END IF
End Sub
Ohne oControl.BoundField.updateInt ... bekomme ich zwar die Listbox gefüllt,
aber keinen Kontakt zwischen Datenbank und Formularanzeige. Mit dem Befehl
bekomme ich zwar den Kontakt, aber so, dass dem ersten Datensatz gar keine ID
zugewiesen wird und die IDs ab dem zweiten Datensatz mit 0 beginnen. Die
abgespeicherten IDs haben aber nichts mit den tatsächlichen IDs zu tun, die
das Abfrageergebnis auswirft.
Irgendwie komme ich zu keinem brauchbaren Ergebnis.
Gruß
Robert
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]