Requête accès dbase

Résolu
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 - 24 juil. 2006 à 12:39
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 - 25 juil. 2006 à 15:31
Salut à tous.
Je vous explique mon problème : J'ai réussi mon accès à dbase via vb6 (avec un dsn). Quand je veux faire un requête pour afficher certaine données il y a une erreur qui s'affiche. Voici ma manière de procéder :

Dim rs_dBase As ADODB.Recordset

Set rs_dBase = New ADODB.Recordset
rs_dBase.Open "Select * From Inv where NOM=Gilbert", Connect_DBase, adOpenStatic, adLockOptimistic
' Connect_DBase est ma variable de connection à la base de données

A ce moment précis l'erreur suivante s'affiche lorsque je clic sur le bouton pour afficher les données :
Erreur d'exécution '-2147217904 (80040e10)':
[Microsoft][Pilote ODBC dBase] Trop peu de paramètre. 2 attendu.

Bizare puisque si je retire la condition (where NOM=Gilbert) cela fonctionne très bien mais forcément il m'affiche toutes les données et ce n'est pas le but.

Si quelqu'un peu m'aider ce serait un grand secour. Merci à tous !

 pseudoOM

15 réponses

pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
25 juil. 2006 à 15:31
Oui mais je suis désolé de t'avoir fais chercher l'erreur avec moi car en effet il apparaît que c'est un problème de pilote ODBC car sur le poste d'un collègue ça fonctionn nickel.
Merci pour ton aide et bonne continuation.

 pseudoOM
3
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
24 juil. 2006 à 13:14
Essai de remplacer adOpenStatic par adOpenDynamic et dis moi si cela fonctionne.

Bonne prog ++
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
24 juil. 2006 à 14:09
Non ça ne fonctionne pas. Merci quand même c'est  sympa d'essayer de m'aider !

 pseudoOM
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
24 juil. 2006 à 14:16
Mais suis-je bete, c'est si simple que je n'avais pas vu

Mets des guillemets ' '. Un avant et un après Gilbert.

SELECT * FROM Inv WHERE NOM='Gilbert'

Bonne prog ++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
24 juil. 2006 à 14:33
Non ça ne fonctionne pas.
Maintenant il me met : [Microsoft][Pilote ODBC dBase] Trop peu de paramètre. 1 attendu.
Donc plus qu'un paramètre au lieu de 2.

 pseudoOM
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
24 juil. 2006 à 15:05
Comment est composée ta table Inv ?

Bonne prog ++
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
24 juil. 2006 à 15:23
Juste pour voir si c'est ca, met Gilbert dans une variable du genre nomp = Gilbert
et essaie comme ca : where nom = '" & nomp & "'",...

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
24 juil. 2006 à 15:53
En fait je ne connais rien à dBase ! On m'a juste demandé de faire un accès à la base et tout ce que je connais c'est le répertoire ou se trouve les tables dont Inv.
J'ai fait un import dans MS Access et ce sont tout des champs texte apparement (dans Access et je ne sais pas si c'est la même chose en dBase).

 pseudoOM
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
24 juil. 2006 à 16:00
Non tof j'ai déjà essayé et cela m'indique toujours l'erreur !

 pseudoOM
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
24 juil. 2006 à 16:21
Hum Hum, Bizarre Bizarre... En tout cas tu dois avoir une erreur à ce niveau puisqu'en enlevant le where, ca marche.

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
24 juil. 2006 à 16:36
Non rien à voir avec le fait d'ajouter une variable. Mais je vois pas d'où cela peut venir. C'est la raison pour laquelle j'aimerai connaitre la structure de la table.

Juste pour voir essai de filter sur un autre champs

ex : SELECT * FROM Inv WHERE PRENOM='toto'

Bonne prog ++
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
25 juil. 2006 à 10:09
J'ai essayé sur un autre champ et cela fonctionne. Par contre j'ai remarqué une petite erreur que j'ai corrigé et maintenant l'erreur est : index introuvable.
Alors que le nom que je rentre est le bon et le champ est correct. Je ne comprend plus rien moi.

 pseudoOM
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
25 juil. 2006 à 10:11
Quelle est cette erreur que tu as corrigée ?

Bonne prog ++
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
25 juil. 2006 à 11:27
Mon erreur était que je n'avais pas bien orthographié le nom du champ mais je m'en suis apperçu. Maintenant comme je l'ai dit il m'affiche index introuvable et ça m'ennerve de ne pas trouvé pourquoi.

 pseudoOM
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
25 juil. 2006 à 12:42
l'erreur est toujours sur la même ligne ?

Bonne prog ++
0
Rejoignez-nous