Syntaxe requete sql

[Résolu]
Signaler
Messages postés
123
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
5 juin 2007
-
Messages postés
123
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
5 juin 2007
-
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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
sql = "select * from Table1 Where [" & str1 & "] = '" & str2 & "' And [" & str3 & "] = '" & str4 & "'"

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
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
Messages postés
123
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
5 juin 2007

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 !
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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 #
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Ouaip ! va falloir que tu donnes le type des champs de ta table dans ta base de données.
Messages postés
123
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
5 juin 2007

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.