Seite 1 von 1

Fehler abfangen bei getint abfangen wenn kein DS vorhanden

Verfasst: Di 24. Sep 2024, 17:09
von Helles58
Hallo zusammen,

ich habe hier diesen Makro bei dem ich einen Fehler abfangen möchte wenn kein DS vorhanden ist.
Wie kann ich feststellen wo der DS-Zeiger steht und wie dann auswerten?

sub openFormFilter3(event as object)'benötigt
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oForm1 AS Object
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.Forms.getByName("MainForm")
oSubForm3 = oForm.getByName("SubForm3")
nRow = oSubForm3.row


nID = oSubForm3.getint(oSubForm3.findcolumn("ID_Kontakte"))'ID der zugrundeliegenden Tabelle ausgelesen
Fehlermeldung bei obiger Zeile:
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.sdbc.SQLException
Message: Der Cursor zeigt vor die erste beziehungsweise hinter die letzte Zeile..

oFormDocFilter = ThisDatabaseDocument.FormDocuments.getByName( event.Source.Model.Tag ).open 'Formularname
oFormFilter = oFormDocFilter.drawpage.forms.MainForm
oFormFilter.Filter = "(""ID_Kontakte"" = '"+nID+"')"
oForm.reload()
End sub

Bin dankbar für jeden Tip.

Re: Fehler abfangen bei getint abfangen wenn kein DS vorhanden

Verfasst: Di 24. Sep 2024, 17:31
von RobertG
Du musst abfragen, wo der Cursor steht:

Code: Alles auswählen

IF NOT oSubForm3.isBeforeFirst() AND NOT oSubForm3.isAfterLast() THEN
nID = oSubForm3.getint(oSubForm3.findcolumn("ID_Kontakte"))
…
END IF

GELÖST - Re: Fehler abfangen bei getint abfangen wenn kein DS vorhanden

Verfasst: Di 24. Sep 2024, 18:57
von Helles58
Danke Robert,

da wäre ich so schnell nicht drauf gekommen.
Wieder ein Stück weiter.

Gruß Helmut