Ich möchte das beim Schreiben eines Ortsnamens dieser automatisch ergänzt wird. (Ähnlich wie im Autonavi).
Zu diesem Zweck habe ich eine Combobox in einem Dialog angelegt mit einer Datenbank die alle Ortsnamen in der Schweiz enthält (ca. 9000)
Beginne ich nun den Ortsnamen zu Schreiben wird mir laufend der volle Name inkl. Postleitzahl vorgeschlagen.
Folgendes Makro füllt die Combobox mit den Ortsnamen aus der Datenbank.
Code: Alles auswählen
Sub Listefuellen()
DBContext=createUnoService("com.sun.star.sdb.DatabaseContext")
If not DBContext.hasByName("ORT_PLZ") then
MsgBox (ConnectionFailedMessage, , "Connection failed!") : End
End If
DataSource=DBContext.getByName("ORT_PLZ")
ConnectToDB=DataSource.GetConnection ("","")
SQLResult=createUnoService("com.sun.star.sdb.RowSet")
SQLQuery="SELECT ""ID"", ""Ort"" FROM ""ORT_PLZ"""
SQLResult.activeConnection = ConnectToDB
SQLResult.Command = SQLQuery
SQLResult.execute
exitOK=com.sun.star.ui.dialogs.ExecutableDialogResults.OK
DialogLibraries.LoadLibrary("Test13")
Library=DialogLibraries.GetByName("Test13")
TheDialog=Library.GetByName("Dialog1")
Dialog=CreateUnoDialog(TheDialog)
DialogField=Dialog.GetControl("ComboBox1")
While SQLResult.next
ListBoxItem = SQLResult.getString(2)
DialogField.additem(ListBoxItem, DialogField.ItemCount)
Wend
If Dialog.Execute=exitOK Then
CurrentItemName=DialogField.SelectedItem
End If
End Sub
Wenn der Ortsname erstmal komplett ist, wird er in eine Zelle in einem Calc Dokument eingetragen. (Darum kümmere ich mich später).
Danke für Hilfe und Tipps.