ich steck schon wieder fest.
Mit dem folgenden Makro möchte ich, dass die Kundennummer, die ich im Formular 'Kunden-Management' ausgewählt habe, beim Öffnen des Formulars 'Bestellungen-Test' in dessen Steuerungselement 'KundenTest' (Listbox) eingetragen wird.
Das ist erst einmal nicht kompliziert, doch möchte ich dabei, dass die ListSource der ListBox auf diese eine Kundennummer reduziert wird und der entsprechende Kunde mit seiner Adresse in einem Grid-Control angezeigt wird:
Code: Alles auswählen
Sub Kundenmanagment_Bestellung
Dim iKundenID As Long
Dim stSQL(0) As String
Dim oFeld, oForm As Object
oForm = ThisComponent.drawpage.forms.getByName("MainForm")
iKundenID = oForm.getByName("fmtINDEX").BoundField.getString
'msgbox "Kundennummer: " & iKundenID
stSQL(0) = "SELECT ""KundenID"" FROM ""Kunden"" WHERE ""KundenID"" = " &iKundenID
'thisDatabaseDocument.FormDocuments.getByName("Kunden-Managment").close
oFormDocBestell = thisDatabaseDocument.FormDocuments.getByName("Bestellungen-Test").Open
wait(1000)
oFormBestell = oFormDocBestell.drawpage.forms.getByName("FormBestell")
oFeldKunde = oFormBestell.getByName("KundenTest")
oSubKundenForm = oFormBestell.getByName("KundenForm")
oFeldKunde.ListSource = stSQL
oFeldKunde.refresh()
oDocCtl = ThisComponent.getCurrentController()
oElementKT = oFormBestell.getByName("KundenTest")
'oElementKTView = oDocCtl.getControl(oElementKT)
oFormBestell.reload()
StarDesktop.CurrentComponent.CurrentController.getControl(oElementKT).SelectItem(iKundenID,True)
'StarDesktop.CurrentComponent.CurrentController.getControl(oElementKT).SelectItem(iKundenID,False)
oSubKundenForm.reload()
oFormBestell.reload()
End Sub
Nur gelingt mir nicht, den einen Eintrag in der ListBox (Kundennummer) automatisch auszuwählen, damit ich das Grid-Control auf die Adreßinformationen des Kunden updaten kann.
Die Zeile
sollte eigentlich das erwünschte Ergebnis erzielen - dachte ich wenigstens.StarDesktop.CurrentComponent.CurrentController.getControl(oElementKT).SelectItem(iKundenID,True)
Hat jemand eine zündende Idee
Danke im Voraus
Peter