Seite 1 von 1

SQL Befehl und Callfunction Fehler

Verfasst: 31.01.2009 01:09
von TheSaint
Hallo Zusammen,

ich versuche mit diesem SQL Befehl:

Code: Alles auswählen

            SQL = "Select BUCHUNG.BELEGNR,BUCHUNG.KSOLL, BUCHUNG.TEXT, CallFunction(#FBdll, F_LEFT ,BUCHUNG.TEXT, 6) "
            SQL = SQL + "FROM BUCHUNG RIGHT JOIN LIEFERAN ON BUCHUNG.KHABEN = LIEFERAN.LIEFKNR "
            SQL = SQL + "WHERE (((BUCHUNG.BELEGNR)<7000) And ((BUCHUNG.KSOLL)<40900));"
auf eine Datenbank zuzugreifen. Der SQL Befehl funktioniert ohne die Callfunction einwandfrei.

Wenn ich die Callfunction mit einbaue, kommt folgende Fehlermeldung:

SQL error Code -104
Token unkown -line 1, column 66

Weis leider nicht, was ich falsch mache. Greife ich nicht so auf eine DLL Function zu, oder habe ich den SQL String falsch aufgebaut?

Wäre toll, wenn mir jemand hier helfen könnte.

Schon mal vielen Dank für Eure Hilfe.

Verfasst: 31.01.2009 01:13
von PMV
CallFunction() gehört doch nicht in den String. :?
... das ist doch der Befehl, den du ausführen willst.
Und der Rückgabewert gehört dann in den String.
Ich hoffe mal für dich, dass es sich hier bei um eine Ganzzahl handelt.
Denk aber drann, das entsprechend in einen String um zu wandeln. Ist
der Rückgabewert ein String, liefert dir PB lediglich nen Pointer. PeekS()
ist dann ganz hilfreich. <)

MFG PMV

Verfasst: 31.01.2009 01:26
von TheSaint
Hallo PMV,

vielen Dank für Deine Antwort.
PMV hat geschrieben:CallFunction() gehört doch nicht in den String. :?
... das ist doch der Befehl, den du ausführen willst.
Hm, mit dieser Callfunction wollte ich eine Zusatzfunktion aus einer DLL aufrufen, die dafür gedacht ist, einen Text, mit dem SQL Befehl ausgewählten Record zu trimmen.
Den beim Aufruf des SQL Befehles sollte diese Zusatzfunktion ausgeführt werden.
Mit diesem Versuch wollte ich testen ob ich auch umfangreichere Zusatzfunktionen aus PB heraus beim Zugriff auf eine Datenbank nutzen kann.

Aber, wenn ich das so nicht machen kann. Hm, dann weis ich auch nicht.
Denke dann muss ich mehrere SQL Befehle ausführen, um das gleiche Ergebnis zu erlangen.

Nun ja, diese blöde Firebird Datenbank bringt mich noch um.
Besonders die SQL Befehle, die es nicht gibt und die man mit anderen Mitteln umgehen muss.

Nochmals vielen Dank für Deine Hilfe und Mühe.

Verfasst: 31.01.2009 01:32
von Kiffi
TheSaint hat geschrieben:Hm, mit dieser Callfunction wollte ich eine Zusatzfunktion aus einer DLL aufrufen, die dafür gedacht ist, einen Text, mit dem SQL Befehl ausgewählten Record zu trimmen.
das bist Du von Access her so gewohnt, gell? ;-)

Nunja, in PB (oder sagen wir mal: in fast allen Programmen ausser Access)
funktioniert das leider nicht. Da musst Du Dir in der Tat was anderes
einfallen lassen.

Grüße ... Kiffi

Verfasst: 31.01.2009 01:35
von TheSaint
Hallo Kiffi,
Kiffi hat geschrieben: das bist Du von Access her so gewohnt, gell? ;-)
Ja genau. Du hast es mal wieder erfasst. :)