Hallo zusammen,
es geht um folgendes. ich habe 2 Listboxen. Die eine Listbox fülle ich mit Hilfe eines Makros per SQL Abfrage. Das funktioniert auch soweit.
Nun möchte ich die zweite Listbox in Abhängigkeit der ersten befüllen.
Beispiel: Ich wähle in Listbox 1 A aus, dann soll Listbox 2 ohne weiteren Mausklick mit A1, A2, A3 etc. gefüllt werden.
Soweit ich bisher rausbekommen habe muss ich erst einmal den selektierten Wert aus Listbox 1 ermitteln, was mit der Funktion .SelectedItem() funktionieren soll. Nur wie ich diese Variable dann in eine SQL Abfrage einbinde ist mir bisher nicht ganz klar.
Hoffentlich hat hier jemand eine passende Lösung zur Hand.
Hier mal mein bisheriger Code:
Sub REDialogAusfuehren
'Variablen deklarieren
Dim REDialog as Object
Dim REObjektBox as Object
Dim REGattungBox as Object
Dim REConnection as Object
Dim REDatasource as Object
Dim SQL_Anweisung as Object
Dim Objektabfrage as String
'Dialog aufrufen
DialogLibraries.LoadLibrary("Test12")
REDialog = createUnoDialog(DialogLibraries.Test12.DialogRechnungen)
'Datenbank Verbindung
DatabaseContext=createUnoService("com.sun.star.sdb.DatabaseContext")
If DatabaseContext.hasByName("Test12_DB")=true Then
Datenquelle = DatabaseContext.getByName("Test12_DB")
Else
MsgBox("Falsche Datenbank angemeldet")
End If
If Not Datenquelle.IsPasswordRequired Then
Verbindung = Datenquelle.GetConnection("","")
Else
Authentifizierung = createUnoService("com.sun.star.sdb.InteractionHandler")
Verbindung = Datenquelle.ConnectWithCompletion(Authentifizierung)
End If
SQL_Anweisung = Verbindung.createStatement()
Objektabfrage = "Select ""AufgabenID"" From ""aufgaben"""
Objektergebnis = SQL_Anweisung.executeQuery(Objektabfrage)
REObjektBox = REDialog.GetControl("ListBox1")
REObjektBox.removeItems(0, REObjektBox.getItemCount())
While Objektergebnis.next
ListBoxItem=Objektergebnis.getString(1)
REObjektBox.additem(ListBoxItem, REObjektBox.ItemCount)
Wend
End Sub
Sub ListBox1_ItemStatusChanged (Event
as Object) Dim strSQL As String
Dim ListBox As Object
Dim Selected As String
Selected=Event.Source.SelectedItem()
strSQL="SELECT ""Gattung"" FROM ""aufgaben"" WHERE ""AufgabenID""=" &
Selected & ""
ListBox=Event.Source.Model.Parent.getByName("ListBox2")
ListBox.ListSourceType=com.sun.star.sdb.ListSourceType.SQL
ListBox.ListSource=Array(strSQL)
End Sub
Ich hoffe mir kann jemand einen Tipp geben.
Grüße
Kenji