smuggam
Messages postés4Date d'inscriptionmercredi 26 mai 2010StatutMembreDernière intervention 9 juin 2010
-
9 juin 2010 à 14:17
cs_zeps2
Messages postés61Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention28 octobre 2011
-
11 juin 2010 à 17:09
Bonjour à tous,
mon petit programme marchant sous excel 2003 grâce à l'aide de plusieurs personnes qui ont répondu à mon dernier post(que je remercie encore), je décide de le tester sous 2007 histoire de voir si cela marche.Bien entendu cela ne marche pas sinon ce serait trop facile :)
Je recois le message d'erreur suivant
"Erreur d'exécution '-2147217904 (80040e10)':
[Microsoft][Pilote ODBC Texte] Trop peu de paramètres. 5 attendu.
"
Ce n'est pas la première fois que je vois ce message , c'est pour çà que j'ai pensé que ma requête sql était en cause mais après moultes tentatives , j'avais toujours le même message d'erreur.Alors je demande si le problème ne provient pas d'autre part!
Le debugueur se bloque à la ligne " Set Record = Connex.Execute(sql)"
Voici mon code :
Dim mavar As Variant
Dim mavar1 As Variant
Dim sql As Variant
Dim Connex As ADODB.Connection
Dim Record As ADODB.Recordset
Set Connex = New ADODB.Connection
Set Record = New ADODB.Recordset
'si une des cases est vide ou les 2
If (IsEmpty(mavar) And IsEmpty(mavar1)) Or (IsEmpty(mavar)) Or (IsEmpty(mavar1)) Then
'Affichage du message ci dessous
MsgBox "Il faut entrer une référence ET un numéro"
Else
'chargement de la feuille
Set f = Sheets("Feuil2")
'Supprimer les données de 5.7 a 31.9
For i = 31 To 5 Step -1
f.Cells(i, 7) = ""
f.Cells(i, 8) = ""
f.Cells(i, 9) = ""
Next
'Connection base
sql " SELECT NO_ORDRE,NO_REFDET,NO_QTE FROM f.csv WHERE AR_REF '" & mavar & "' And NO_OPERATION = " & mavar1 & " ORDER BY NO_ORDRE "
Set Record = Connex.Execute(sql)
'Chargement sur la feuille
Set f = Sheets("Feuil2")
If Record.BOF = True Then
MsgBox "La requête n'a trouvé aucun résultat.Revoyez votre numéro d'opération et / ou votre référénce"
Else
Record.MoveFirst
'Commence sur la ligne 5
i = 5
cs_zeps2
Messages postés61Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention28 octobre 2011 11 juin 2010 à 17:09
salut,
Ce type de message est typiquement de la requête SQL.
Lorsque tu arrives dans ton code sur la requête qu'il doit exécuter, tu bloques.
Essaie à la main de lancer ta requête, tu verras il te fera la même erreur.
Aurais tu pas changer qq chose dans ta requête ?
A tout les coups si ! ==> Contrôle le nom des champs, il doit lui en manquer un.