SQL, Access

Résolu
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005 - 17 mars 2005 à 11:33
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 17 mars 2005 à 19:18
Bonjour,

Voici le code que j'utilise pour ouvrir des donnees :

Function UpdateAllergens(Num)
Dim dbs As DAO.Database
Dim donnees As DAO.Recordset
Dim Formulaire As Form
Set dbs = CurrentDb Set donnees dbs.OpenRecordset("SELECT * FROM [Qry_Allergens] WHERE [All_id] " & Num)

(Num = élément clé d'un record d'une liste)

Il n'y aucune erreur a la compilation, mais lorsque que la macro est lancee, j'ai l'erreur suivante :

runtime error '3601'
too few parameters. expected '1'

qqn pourrait-il m'aider a resoudre ce probleme ?

3 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 mars 2005 à 19:18
Salut,

Il n'est pas utile d'enlever les crochets encadrant un nom de champ. Au contraire, c'est une bonne habitude car ça sert surtout si un nom de champ comporte un ou plusieurs espaces.

D'autre part, ce genre d'erreur peut intervenir lorsque qu'un champ n'existe pas dans la table interrogée. Dans ton cas, ce serait All_id. Vérifie.

Sinon, pour les guillemets la syntaxe est :
si le champ est numérique
"SELECT * FROM [Qry_Allergens] WHERE [All_id] = " & Num
s'il est en texte
"SELECT * FROM [Qry_Allergens] WHERE [All_id] = '" & Num & "'"

Loup Gris
3
macgyver49 Messages postés 58 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 5 août 2005
17 mars 2005 à 13:17
hello

A notre avis, ta requête ne fonctionne pas. Ce n'est probablement pas une
erreur de code (quoique DAO ne soit pas le meilleur composant - vive ADO!)

Pour ce qui est de ta requête:
"SELECT * FROM [Qry_Allergens] WHERE [All_id] = " & Num

enlève les [] .
vérifie que All_id est définit comme un numéro dans ta base de données.
Si c'est un format texte, il faut que tu rajoute des ' ' à Num .

en espérant que cela t'aide, tschüss

Titi & Panpan
0
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005
17 mars 2005 à 14:31
Merci de la réponse, mais en enlevant les [ ] et en rajoutant les '' autour de num, cela bug tjs...

Si la requête ne fonctionne pas, pourriez-vous m'indiquer comment changer ca ?

D'avance merci
0
Rejoignez-nous