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 selectGruß
Freischreiber