ich möchte Adressen und Auftragsnummer in einen Brief bringen, die Aufträge stehen in einem Unterformular.
Das Makro fängt so an:
Code: Alles auswählen
Sub Textfield_Adressen (oButtonevent as object)
DialogLibraries.LoadLibrary( "Standard" )
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getbyName("MainForm")
oFormAuftraege = oForm.getByName("UnterformularAuftraege")
oFormKontakt = oForm.getbyname("FormKontakt")
oColumns = oForm.Columns
nKontakt = oFormKontakt.getint(oFormKontakt.findcolumn("KontaktartID"))
scurrentKontakt = oFormKontakt.getString(oFormKontakt.findcolumn("Nummer"))
oController = oDoc.getCurrentController()
oListenfeldAnrede = oForm.getByName("fmtAnredenID")
oView = oController.getControl(oListenfeldAnrede)
stAnrede = oView.SelectedItem
oListenfeldTitel = oForm.getByName("fmtTitelID")
oView = oController.getControl(oListenfeldTitel)
stTitel = oView.SelectedItem
'Cursor-Fehlermeldung vermeiden, wenn kein Auftrag vorhanden:
if IsNull( oFormAuftraege.getstring(oFormAuftraege.findcolumn("AuftragID"))) then
stAuftrag = ""
else stAuftrag = oFormAuftraege.getstring(oFormAuftraege.findcolumn("AuftragID"))
endif
...
Ohne den ganzen Absatz gibt es zwar keine Fehlermeldung, aber die Auftragsnummer wird auch nicht eingetragen.
Wie kann man diesen Fall "kein Auftrag vorhanden" richtig abfangen?
Witzig finde ich: ein leeres Unterformular "Kontakte" schadet gar nichts. Dort werden verschiedene Fälle behandelt mit
Code: Alles auswählen
select case nKontakt
case 3
scurrentKontakt = "vorab per Fax: " & scurrentKontakt
case 6
scurrentKontakt = "vorab per Mail: " & scurrentKontakt
Case else
scurrentKontakt = ""
end select
Gruß
Freischreiber