in meinem Adressformular gibt es ein Unterformular mit Aufträgen, die zur Adresse gehören (sichtbar als Tabellenkontrollfeld).
Von dort aus kann ich zu einem markierten Auftrag "springen", also das passende Auftragsformular öffnen mit diesem Makro:
Code: Alles auswählen
Sub Auftragsformular 'Ruft in Adressblatt zu dem markierten Auftrag das Auftragsformular auf
   oformAuftraege = thisComponent.drawpage.forms.MainForm.UnterformularAuftraege
	 intColumn = oFormAuftraege.findcolumn("AuftragID") 'inColumn wird dann überprüft, ob größer Null, ob also vorhanden
	 if intColumn = 0 then goto Neuanlage
	 msgbox intColumn
   stAuftragID = oformAuftraege.getString(oformAuftraege.findcolumn("AuftragID"))
   'stAuftragID = oFormAuftraege.getstring(inColumn)
	IF stAuftragID = "" then goto Neuanlage
   oformAuftrag = ThisDatabaseDocument.getformdocuments.GetByName("f-Auftrag")
   oformAuftrag.open
   oformAuftrag = oformAuftrag.Component.drawpage.forms(0)
   oformAuftrag.Filter = "ID = '"+stAuftragID+"'" 
   ' oFormAuftrag.ApplyFilter = TRUE (geht hier ohne)
   oFormAuftrag.reload
Neuanlage: ... (kommt noch)
End SubIch habe versucht, die Hinweise aus http://www.libreoffice-forum.de/viewtop ... =20#p33009 umzusetzen, aber das Makro steigt aus mit "Message: Der Cursor zeigt vor die erste bzw. hinter die letzte Zeile.." und markiert ist die Zeile mit "stAuftragID = ...".
Die msgbox vorher zeigt "1", die Spalte existiert also, klar. Aber wie kann ich den Fall abfangen, daß da kein Eintrag in der Tabelle ist? Bis zur Zeile
Code: Alles auswählen
IF stAuftragID = "" then goto NeuanlageGruß
Freischreiber
 Achte auf die dritte Ziffer: Libre Office 25.2.
 Achte auf die dritte Ziffer: Libre Office 25.2.