leubaa
Messages postés24Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention20 mai 2005
-
17 mars 2005 à 11:33
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 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'
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 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 & "'"
macgyver49
Messages postés58Date d'inscriptionvendredi 21 janvier 2005StatutMembreDerniè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 .