Syntaxe requete sql

Résolu
ephores Messages postés 123 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 5 juin 2007 - 28 oct. 2006 à 20:24
ephores Messages postés 123 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 5 juin 2007 - 29 oct. 2006 à 10:31
Bonjour ,
j'ai vraiment un problème de syntaxe que je n'arrive pas a résoudre... j'utilise access et dans cette ligne :
sql "select * from Table1 Where [str1] '" & str3 & "'" And [str3] = " & str4 & "

str1 et str3 sont des variables de type string ayant le nom d'une colonne dans la table
str2 et str4 sont des string aussi
j'ai erreur d'execution 3061 ( trop peu de parametres. 1 attendue ), dans cette ligne :

Set rs = db.OpenRecordset(sql, dbOpenSnapshot)

si je pointe le curseur sur cette ligne dans "sql" , str3 et str4 ont bien la valeur que j'ai donné dans mon programme, par contre str1 et str3 reste tel quel, alors qu'ils auraient du prendre le nom d'une de mes colonnes definie par le programme.

merci de m'aider

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 oct. 2006 à 20:31
sql = "select * from Table1 Where [" & str1 & "] = '" & str2 & "' And [" & str3 & "] = '" & str4 & "'"

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
29 oct. 2006 à 04:09
Salut
Comme le dit DolphinBoy, tout dépend de la manière dont tu as déclaré tes champs dans ta table :
Les champs :
   - Texte : doivent être encadrés par des '
   - Date : doivent être encadrés par des #
   - Numérique : Sans encadrement

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on
3
ephores Messages postés 123 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 5 juin 2007
28 oct. 2006 à 20:48
merci c'est mieux cette fois il met bien les noms qu'ils doivent prendre mais j'ai l'erreur  :

erreur d'execution 3464
type de données incompatible dans l'expression du critère

str3 et str4 sont de type integer en fait, j'ai essayer en changeant la declaration des variable en integer mais c'est pareil.
Dans mon tablo ces données sont de type integer aussi.

que faire?

merci !
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 oct. 2006 à 20:57
str1 et str3 sont des variables de type string
str2 et str4 sont des string aussi

str3 et str4 sont de type integer



Heu je suis un peu perdu là.

Il faut convertir str3 et str4 au format qu'attend la bdd. str3 étant le nom d'un champ, ça sera un format string. Pour str4 à toi de voir.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0

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

Posez votre question
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
28 oct. 2006 à 23:39
Ouaip ! va falloir que tu donnes le type des champs de ta table dans ta base de données.
0
ephores Messages postés 123 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 5 juin 2007
29 oct. 2006 à 10:31
Merci à tous c'est effectivement str2 et str4 les integer.
Mon problème est résolus.
Jack ton intervention m'a été très utile, effectivement mes numérique etaient encadré de " ' ".
Tout baigne merci à tous.
0
Rejoignez-nous