Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Selectionner tout

3 réponses
Avatar
Ghislain
Re bonjour,
j ai un formulaire client avec un sousformulaire produit,
qui me permet de selectionner, avec un champ select en
Y/N, certains produits pour chaque client. J'ai creer
deux boutons dans le sous formulaires qui me permettent
de selectionner tous les produits pour ce client ou de
les deselectionner. J ai utilise pour ca des requetes de
modif et utiliser le code suivant:
mon probleme est qu a chaque fois que j utilise le bouton
j ai un message qui me dit que je ne peut pas
utiliser "applyFilter action" ici. Et quand je presse ok,
mon code fonctionne.
Merci de votre aide

Private Sub Command53_Click()
On Error GoTo Err_Command53_Click

Dim stDocName As String

stDocName = "UpQrySelectAllServiceByCustomer"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.Requery

Exit_Command53_Click:
Exit Sub

Err_Command53_Click:
MsgBox Err.Description
Resume Exit_Command53_Click

End Sub

3 réponses

Avatar
Raymond [mvp]
Bonjour.

je pense qu'il serait préférable de passer par le recordset du
sous-formulaire pour ne pas avoir le problème d'un filtre éventuel placé par
l'opérateur.
si le bouton est dans le sous-formulaire:
Dim Rs As DAO.Recordset
Set Rs = Me.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
Rs.Edit
Rs!OuiNon = True
Rs.Update
Rs.MoveNext
Loop
Set Rs = Nothing

si le bouton est dans le formulaire principal:

Dim Rs As DAO.Recordset
Set Rs = Me.[sous-formulaire].Form.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
Rs.Edit
Rs!OuiNon = True
Rs.Update
Rs.MoveNext
Loop
Set Rs = Nothing

il faudra rajouter une ligne On Error ..... pour gérer les erreurs.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Ghislain" a écrit dans le message de
news: 5d8e01c4c7e3$42fda800$
Re bonjour,
j ai un formulaire client avec un sousformulaire produit,
qui me permet de selectionner, avec un champ select en
Y/N, certains produits pour chaque client. J'ai creer
deux boutons dans le sous formulaires qui me permettent
de selectionner tous les produits pour ce client ou de
les deselectionner. J ai utilise pour ca des requetes de
modif et utiliser le code suivant:
mon probleme est qu a chaque fois que j utilise le bouton
j ai un message qui me dit que je ne peut pas
utiliser "applyFilter action" ici. Et quand je presse ok,
mon code fonctionne.
Merci de votre aide

Private Sub Command53_Click()
On Error GoTo Err_Command53_Click

Dim stDocName As String

stDocName = "UpQrySelectAllServiceByCustomer"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.Requery

Exit_Command53_Click:
Exit Sub

Err_Command53_Click:
MsgBox Err.Description
Resume Exit_Command53_Click

End Sub


Avatar
Ghislain
Merci raymond,
ca marche pour le "selectionner tout" mais pas pour
le "deslectionner tout". Il me deselectionne seulement le
premier. J ai utilise le meme code en mettant "false" a
la place de "True"

Dim Rs As DAO.Recordset
Set Rs = Me.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
Rs.Edit
Rs![Send To Customer] = False
Rs.Update
Rs.MoveNext
Loop

Set Rs = Nothing


-----Message d'origine-----
Bonjour.

je pense qu'il serait préférable de passer par le
recordset du

sous-formulaire pour ne pas avoir le problème d'un
filtre éventuel placé par

l'opérateur.
si le bouton est dans le sous-formulaire:
Dim Rs As DAO.Recordset
Set Rs = Me.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
Rs.Edit
Rs!OuiNon = True
Rs.Update
Rs.MoveNext
Loop
Set Rs = Nothing

si le bouton est dans le formulaire principal:

Dim Rs As DAO.Recordset
Set Rs = Me.[sous-formulaire].Form.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
Rs.Edit
Rs!OuiNon = True
Rs.Update
Rs.MoveNext
Loop
Set Rs = Nothing

il faudra rajouter une ligne On Error ..... pour gérer
les erreurs.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Ghislain" a écrit
dans le message de

news: 5d8e01c4c7e3$42fda800$
Re bonjour,
j ai un formulaire client avec un sousformulaire
produit,


qui me permet de selectionner, avec un champ select en
Y/N, certains produits pour chaque client. J'ai creer
deux boutons dans le sous formulaires qui me permettent
de selectionner tous les produits pour ce client ou de
les deselectionner. J ai utilise pour ca des requetes
de


modif et utiliser le code suivant:
mon probleme est qu a chaque fois que j utilise le
bouton


j ai un message qui me dit que je ne peut pas
utiliser "applyFilter action" ici. Et quand je presse
ok,


mon code fonctionne.
Merci de votre aide

Private Sub Command53_Click()
On Error GoTo Err_Command53_Click

Dim stDocName As String

stDocName = "UpQrySelectAllServiceByCustomer"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.Requery

Exit_Command53_Click:
Exit Sub

Err_Command53_Click:
MsgBox Err.Description
Resume Exit_Command53_Click

End Sub



.




Avatar
Raymond [mvp]
dans les deux cas, rajoute une ligne de positionnement, car il est possible
que le curseur soit positionné n'importe où:
If Rs.BOF Then Exit Sub
Rs.MoveFirst
Do Until Rs.EOF
tu peux mettre aussi un me.Refresh à la fin pour tout rafraichir.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Ghislain" a écrit dans le message de
news: 1cf101c4c7eb$91a8d760$
Merci raymond,
ca marche pour le "selectionner tout" mais pas pour
le "deslectionner tout". Il me deselectionne seulement le
premier. J ai utilise le meme code en mettant "false" a
la place de "True"

Dim Rs As DAO.Recordset
Set Rs = Me.Recordset
If Rs.BOF Then Exit Sub
Do Until Rs.EOF
Rs.Edit
Rs![Send To Customer] = False
Rs.Update
Rs.MoveNext
Loop

Set Rs = Nothing