FKTs in Access ansprechen?

09/04/2008 - 20:19 von Martin Meyer | Report spam
Hallo Newsgroup,

auf die Gefahr hin, dass ich mich hier blamiere, die folgende Frage:
Wenn ich eine öffentliche Funktion in einem "richtigen" DBMS schreibe,
kann ich sie in einer Abfrage ganz normal benutzen. Geht das in einer
Access-DB nicht?

Ich habe in Access zB. die folgende FKT angelegt:

Public Function tuNix(s As String) As String
tuNix = s
End Function

Führe ich im Access zB. die Abfrage:

SELECT K_Nr FROM Kunden WHERE tuNix([K_Name]) Like 'maier'

geht das selbstverstàndlich problemlos.

Setze ich das gleiche Statement über eine ADO.connection auf die gleiche
mdb in VB6 ab, kommt:
"Undefinierte Funktion 'tuNix' in Ausdruck.".

Gibt es aus VB keine Möglichkeit, solche selbstdefinierten
Access-Funktionen zu nutzen?

TIA & Gruß,
Martin

Bei Antworten per eMail bitte an die Reply-To Adresse senden.
Oder der From-Adresse den String "nospam_" voranstellen.
eMails an die unmodifizierte From-Adresse werden ungelesen geloescht.
 

Lesen sie die antworten

#1 Ingo Moch
09/04/2008 - 21:46 | Warnen spam
Hallo Martin,

"Martin Meyer" schrieb:

Wenn ich eine öffentliche Funktion in einem "richtigen"
DBMS schreibe, kann ich sie in einer Abfrage ganz
normal benutzen. Geht das in einer Access-DB nicht?



VB und Access setzen auf verschiendenste Komponenten
auf. Einige dieser Komponenten sind deckungsgleich
(primaer VBA, Jet). Aber das ist auch schon alles. Im
Endeffekt bedeutet das, dass es keine Access-Datenbanken
gibt. Die .mdb-Dateien gehoeren zur Komponente Jet
welche wiederum als propitaren Sprachschatz Die VBA-
Bibliothek (und wirklich nur die Bibliothek) verwendet.
Die Verwendung von in VBA geschriebenen Funktionen im
SQL ist dementsprechend ein Access-Funktionalitaet, und
VB spricht halt ueber ADO/DAO kein Access, sondern Jet
an.

In Access geschriebene Funktionen kannst Du z. B. mit
der Automatisierung ansprechen.

Ingo

Ähnliche fragen