OVH Cloud OVH Cloud

Critère dans une requête de mise à jour

5 réponses
Avatar
Baptiste
Bonjour

J'ai créé une requête de mise à jour qui me permet de redéfinir l'ensemble
des codes produits de ma base de données.
La requête fonctionne très bien à partir d'un bouton dont le code est le
suivant :

Private Sub Command46_Click()
On Error GoTo Err_Command46_Click

CurrentDb.Execute "Update_nom_du_produit"
MsgBox "Opération de mise à jour terminée", vbInformation, "Information"

Exit_Command46_Click:
Exit Sub

Err_Command46_Click:
MsgBox Err.Description
Resume Exit_Command46_Click

End Sub


L'opération se déroule bien, mais c'est long car j'ai beaucoup de produits.
Je souhaite donc appliquer cette mise à jour à une seule de mes gammes de
produits à la fois. Pour cela, j'ai rajouté un critère à ma requete de
manière à sélectionner uniquement la gamme de produit en cours. (critère
repiqué dans mon formulaire :[Formulaires]![Création d'une Gamme]![ref_gamme])

Lorsque je lance la requête manuellement et elle fonctionne sans soucis.
Mais lorsque je la lance à partir de mon bouton, j'obtiens le message suivant
: "Too few parameters, expected 1"...

Je pense que c'est une petite erreur bête mais je ne vois pas !

Merci d'avance pour votre aide

Baptiste

5 réponses

Avatar
3stone
Salut,

"Baptiste"
| J'ai créé une requête de mise à jour qui me permet de redéfinir l'ensemble
| des codes produits de ma base de données.

[...]
| Je souhaite donc appliquer cette mise à jour à une seule de mes gammes de
| produits à la fois. Pour cela, j'ai rajouté un critère à ma requete de
| manière à sélectionner uniquement la gamme de produit en cours. (critère
| repiqué dans mon formulaire :[Formulaires]![Création d'une Gamme]![ref_gamme])
|
| Lorsque je lance la requête manuellement et elle fonctionne sans soucis.
| Mais lorsque je la lance à partir de mon bouton, j'obtiens le message suivant
| : "Too few parameters, expected 1"...



Ouvre ta requête en mode édition et regarde le menu "Requête, paramètres"
- renseigne ton paramètre et son type


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Baptiste
Bonjour,

Merci pour ta réponse.
J'ai rentré un paramètre en mettant [ref_produit] en tant qu'entier (c'est
un numéro auto). la requête réagit toujours de la même manière..."Too few
parameters, expected 1"... Mais est il necessaire de rentrer un paramètre
alors que je souhaite qu'il aille le chercher tout seul dans le
formulaire?sinon que dois je mettre comme paramètre? Merci de ton aide

Baptiste


Salut,

"Baptiste"
| J'ai créé une requête de mise à jour qui me permet de redéfinir l'ensemble
| des codes produits de ma base de données.

[...]
| Je souhaite donc appliquer cette mise à jour à une seule de mes gammes de
| produits à la fois. Pour cela, j'ai rajouté un critère à ma requete de
| manière à sélectionner uniquement la gamme de produit en cours. (critère
| repiqué dans mon formulaire :[Formulaires]![Création d'une Gamme]![ref_gamme])
|
| Lorsque je lance la requête manuellement et elle fonctionne sans soucis.
| Mais lorsque je la lance à partir de mon bouton, j'obtiens le message suivant
| : "Too few parameters, expected 1"...



Ouvre ta requête en mode édition et regarde le menu "Requête, paramètres"
- renseigne ton paramètre et son type


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
Baptiste
Bonjour,

Merci pour ta réponse.
J'ai rentré un paramètre en mettant [ref_produit] en tant qu'entier (c'est
un numéro auto). la requête réagit toujours de la même manière..."Too few
parameters, expected 1"... Mais est il necessaire de rentrer un paramètre
alors que je souhaite qu'il aille le chercher tout seul dans le
formulaire?sinon que dois je mettre comme paramètre? Merci de ton aide.

Baptiste


Salut,

"Baptiste"
| J'ai créé une requête de mise à jour qui me permet de redéfinir l'ensemble
| des codes produits de ma base de données.

[...]
| Je souhaite donc appliquer cette mise à jour à une seule de mes gammes de
| produits à la fois. Pour cela, j'ai rajouté un critère à ma requete de
| manière à sélectionner uniquement la gamme de produit en cours. (critère
| repiqué dans mon formulaire :[Formulaires]![Création d'une Gamme]![ref_gamme])
|
| Lorsque je lance la requête manuellement et elle fonctionne sans soucis.
| Mais lorsque je la lance à partir de mon bouton, j'obtiens le message suivant
| : "Too few parameters, expected 1"...



Ouvre ta requête en mode édition et regarde le menu "Requête, paramètres"
- renseigne ton paramètre et son type


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
fth
Bonjour,

Un petit "truc" rapide :
click droit sur le champ qui contient le parametre-filter By Selection
Ne te reste plus que les ligne que tu veux mettre à jour

au début de ton code:

dim rst as recordset
rst= me.recordset
ce qui aura pour effet d'appliquer ton code à la partie que tu filtre
manuellement dans ton form.

Bone journée

Frédéric
"Baptiste" wrote in message
news:
Bonjour

J'ai créé une requête de mise à jour qui me permet de redéfinir l'ensemble
des codes produits de ma base de données.
La requête fonctionne très bien à partir d'un bouton dont le code est le
suivant :

Private Sub Command46_Click()
On Error GoTo Err_Command46_Click

CurrentDb.Execute "Update_nom_du_produit"
MsgBox "Opération de mise à jour terminée", vbInformation, "Information"

Exit_Command46_Click:
Exit Sub

Err_Command46_Click:
MsgBox Err.Description
Resume Exit_Command46_Click

End Sub


L'opération se déroule bien, mais c'est long car j'ai beaucoup de
produits.
Je souhaite donc appliquer cette mise à jour à une seule de mes gammes de
produits à la fois. Pour cela, j'ai rajouté un critère à ma requete de
manière à sélectionner uniquement la gamme de produit en cours. (critère
repiqué dans mon formulaire :[Formulaires]![Création d'une
Gamme]![ref_gamme])

Lorsque je lance la requête manuellement et elle fonctionne sans soucis.
Mais lorsque je la lance à partir de mon bouton, j'obtiens le message
suivant
: "Too few parameters, expected 1"...

Je pense que c'est une petite erreur bête mais je ne vois pas !

Merci d'avance pour votre aide

Baptiste


Avatar
Baptiste
Merci de ton conseil, mais lorsque j'essaie ce code, j'ai une erreur de
compilation sur la ligne

rst= me.recordset

J'ai essayé rst=me.currentrecordset mais même résultat...
tu sais pourquoi? merci?

Baptiste




Bonjour,

Un petit "truc" rapide :
click droit sur le champ qui contient le parametre-filter By Selection
Ne te reste plus que les ligne que tu veux mettre à jour

au début de ton code:

dim rst as recordset
rst= me.recordset
ce qui aura pour effet d'appliquer ton code à la partie que tu filtre
manuellement dans ton form.

Bone journée

Frédéric
"Baptiste" wrote in message
news:
Bonjour

J'ai créé une requête de mise à jour qui me permet de redéfinir l'ensemble
des codes produits de ma base de données.
La requête fonctionne très bien à partir d'un bouton dont le code est le
suivant :

Private Sub Command46_Click()
On Error GoTo Err_Command46_Click

CurrentDb.Execute "Update_nom_du_produit"
MsgBox "Opération de mise à jour terminée", vbInformation, "Information"

Exit_Command46_Click:
Exit Sub

Err_Command46_Click:
MsgBox Err.Description
Resume Exit_Command46_Click

End Sub


L'opération se déroule bien, mais c'est long car j'ai beaucoup de
produits.
Je souhaite donc appliquer cette mise à jour à une seule de mes gammes de
produits à la fois. Pour cela, j'ai rajouté un critère à ma requete de
manière à sélectionner uniquement la gamme de produit en cours. (critère
repiqué dans mon formulaire :[Formulaires]![Création d'une
Gamme]![ref_gamme])

Lorsque je lance la requête manuellement et elle fonctionne sans soucis.
Mais lorsque je la lance à partir de mon bouton, j'obtiens le message
suivant
: "Too few parameters, expected 1"...

Je pense que c'est une petite erreur bête mais je ne vois pas !

Merci d'avance pour votre aide

Baptiste