Bonjour.
J'utilise une macro sous Excel qui créée une requête Firebird (similaire à SQL) pour rechercher des produits dans une base de données selon plusieurs critères. En gros, les critères de la requête sont générés en fonction des champs saisis sur Excel. La requête est assez lourde et possède des jointures de tables et de nombreux critères.
J'utilise la connexion suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim cnnADO As New ADODB.Connection Dim rc As New ADODB.Recordset cnnADO.ConnectionString = "ODBC;DSN........" If Not (cnnADO.State) Then cnnADO.Open rc.Open ("SELECT ............."), cnnADO, adOpenDynamic, adLockOptimistic
On m'a remonté une erreur ce matin qui faisait planter VBA lors du lancement de la requête. Le message d'erreur était le suivant:
Plutôt prise de tête car selon les critères utilisés (client, dimensions), la requête plantait ou pas.Ce pilote ODBC ne prend pas en charge les propriétés demandées.
Pour trouver la cause du problème, j'ai directement créé sous Excel une connexion à la source de données et copié le texte de ma requête. Cette fois-ci, le message d'erreur était bien plus explicite:
Ca m'a permis d'identifier rapidement l'origine du problème : un point en trop à la fin du champ[ODBC Firebird Driver][Firebird]conversion error from string "0219.1. "
Ma question est la suivante: comment récupérer ce message d'erreur sous VBA ?
Merci
Partager