Seite 1 von 1

Aufruf eines Auftragsformulars vom Unterformular eines Adressformulars: Behandlung eines leeren Unterformulars

Verfasst: Mo 31. Aug 2015, 18:28
von Freischreiber
Hallo,

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 Sub
Soweit, so gut. Was nicht geht, ist das Abfangen einer leeren Auftragstabelle. Wenn es zu einer Adresse noch gar keinen Auftrag gibt, will ich in der Adresstabelle den Status von "Dritter" auf "Kunde" stellen und dann zur Neuanlage eines Auftrags springen.

Ich 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 Neuanlage
kommt das Makro erst gar nicht.

Gruß
Freischreiber

Re: Aufruf eines Auftragsformulars vom Unterformular eines Adressformulars: Behandlung eines leeren Unterformulars

Verfasst: Mo 31. Aug 2015, 21:59
von F3K Total
Hi,
versuch mal

Code: Alles auswählen

if oformAuftraege.RowCount = 0 Then
    MSGBOX "Noch keine Zeile im Unterformular vorhanden"
Endif
Gruß R

Re: Aufruf eines Auftragsformulars vom Unterformular eines Adressformulars: Behandlung eines leeren Unterformulars

Verfasst: Di 1. Sep 2015, 08:00
von Freischreiber
Bingo, das wars...

Danke!

Gruß
Freischreiber