Hallo Robert,

ich hätt diese Mail weiter lesen sollen ...

>       Sql = "SELECT ""recID"" FROM ""Abgang"" WHERE ""Anzahl""='0'"
>       Abfrageergebnis = SQL_Anweisung.executeQuery(Sql)' Ergebnis auswerten
>       formneu = 2
>       IF NOT isNull(Abfrageergebnis) THEN

http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XStatement.html#executeQuery

executeQuery liefert ein ResultSet, also eine Menge von Zeilen. Diese
Menge kann leer sein, das Objekt, das sie repräsentiert, ist es aber
nicht. Deswegen schlägt "NOT isNull(Abfrageergebnis)" immer zu.

Wenn Du wissen möchtest, ob die Ergebnismenge leer ist, tut es wohl ein
einfaches

        Dim bHatMindestensEinenDatensatz As Boolean
        bHatMindestensEinenDatensatz = Abfrageergebnis.next

, denn per definitionem steht ein ResultSet immer *vor* dem ersten
Datensatz, so dass das *erste* daran gerufene "next" auf den ersten
Datensatz positioniert. Wenn es keinen solchen gibt, bewegst Du Dich
unmitelbar von "vor dem ersten" (abfragbar mit isBeforeFirst,
ansteuerbar mit "beforeFirst") zu "nach dem letzten"
(isAfterLast/afterLast).

Wie alle Positionierungsmethoden liefert "next" TRUE, wenn Du auf einem
"echten" Datensatz stehst, und FALSE, wenn Du auf einem der beiden
"virtuellen" Datensätze "before first"/"after last" stehst.

Ciao
Frank

-- 
- Frank Schönheit, Software Engineer         [email protected] -
- Sun Microsystems                      http://www.sun.com/staroffice -
- OpenOffice.org Base                       http://dba.openoffice.org -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an