ODBC et macro VBA dans une requête

Fermé
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 - 4 juil. 2008 à 15:35
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 - 4 juil. 2008 à 18:51
Bonjour,

Je rédige un script en langage R (peu importe le langage en fait je pense) qui envoie des requêtes SQL vers une base de données Access 97. Quand je fais appel à une macro VBA dans une requête, ça ne fonctionne pas, l'erreur retournée est:

[1] "[RODBC] ERROR: Could not SQLExecDirect"
[2] "42000 -3102 [Microsoft][Pilote ODBC Microsoft Access] Fonction 'StrToHex' non définie dans l'expression."

Le problème semble venir du driver ODBC, je voudrais donc savoir si le driver ODBC fourni pour Access supporte les macros VBA (la version du driver que j'ai est 4.00.6304.00).

Merci d'avance.

1 réponse

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 391
4 juil. 2008 à 16:31
Bonjour Laaris (encore moi)

En fait je viens d'essayer la même chose avec Excel et j'ai la même erreur, il me semble que lors de la connection à la base de données Access, je n'ai accès qu'aux tables et requêtes et non aux modules VBA.
Pour contourner ce problème, j'ai rajouté dans ma table (basée sur nos messages précedents) une nouvelle colonne que j'ai mis à jour avec le code suivant
UPDATE matable
SET nouvellecolonne = StrToHex(Description)

J'ai pu alors exécuter une requête sur cette nouvelle colonne sans utilisé la fonction StrToHex

A plus
0
Laaris Messages postés 130 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 17 juin 2011 73
4 juil. 2008 à 18:51
Salut Christounet,

Donc c'est bien un problème de driver ODBC. Merci pour ta solution qui me parait moins lourde que ce que je faisais: exécuter la requête sous Access en créant une nouvelle table (avec select into) puis récupérer le contenu de la nouvelle table via R.

Bon week end, et peut-être à bientôt pour régler mon prochain problème. ^^
0