Seite 1 von 1

Listbox und Select

Verfasst: So, 01.07.2007 14:40
von wega
Hallo zusammen,

wie muß ich es anstellen, daß mit dem

Select "Name", "Land", "Ort" from "Kunden"

die ListBox eines formulars gefüllt wird?
kann mir hierzu eine/r den Quellcode nenne?

mit freundlichem Gruß
Werner

Re: Listbox und Select

Verfasst: Mo, 02.07.2007 20:55
von wega
Hallo zusammen,

das Thema: mit SQL in die Listbox schreiben ist, wenn man hier in den Foren sucht, an den verschiedensten Stellen beschrieben.

Ich habe dieses Problem mit der Forumsrecherche für mich mit zwei Subroutinen gelöst.
Die eine stellt den Datenbankkontakt her, die andere schreibt in die Listbox.

Ich stelle meine zwei Routinen hier mal rein, vielleicht kann der eine oder andere sie gebrauche. für Fehler keine Garantie.

Sub Datenbankkontakt (Listeintrag)
dim DatabaseContext as Object 'Datenbankcontext
dim DataSource as Object 'Datenbankquelle
dim Connection as Object 'Verbindung
dim Statement as Object 'SQL-Statement
dim ResultSet as Object 'Ergebnis einer SQL-Abfrage
dim DbName as String 'Datenbankname
dim Eingabe as String 'Eingabe in Inputbox
dim Ergebnis as String 'Auslesen des Resultset
dim i as Integer 'zum Prüfen der Datenfundmenge

Dbname = "Kunden"
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName(Dbname)
Connection = dataSource.GetConnection("","")
Statement = Connection.createStatement()
ResultSet = Statement.executeQuery("select Name, Land, Ort from kunden")

i=0

if not isNull(resultSet) then
while resultset.next
ergebnis = resultSet.getstring(1)
ergebnis = ergebnis+resultSet.getstring(2)
ergebnis = ergebnis+resultSet.getstring(3)
Listeintrag = Listeintrag + Ergebnis + chr(44)
i=i+1
wend
else
msgbox "kein Ergebnis"
exit Sub
end if
Listeintrag = left(listeintrag,(len(listeintrag)-1))

'msgbox "I hat den Wert = "+Cstr(i)

if i=0 then
msgbox "kein Datensatz gefunden"
exit Sub
end if
end Sub


Sub Listbox_schreiben
dim oDoc as object
dim odrawpage as object
Dim oform as object
dim oList as Object
dim aListe()

Datenbankkontakt(Listeintrag)

oDoc = thisComponent 'das Dokument
odrawpage = oDoc.Drawpage 'Zeichenfläche des Formulars einer Datenbank
oForm = thisComponent.drawpage.Forms.getByName("Kunden") 'Das Formular selbst
oList = oForm.getByName("ListBox-Auswahl") 'Das Kontrollelement
reDim arryofstrings
arryofstrings = split(Listeintrag,",")
oList.stringitemlist = arryofstrings()
end sub

mit freundlichem Gruß
Werner