Dans mon formulaire j=92ai deux zones de liste qui me permettent de
s=E9lectionner des enregistrements, et je voudrais avoir deux zones de
texte
qui m=92indiquent le nombre d=92enregistrements s=E9lectionn=E9s sur l=92un=
e et
le nombre restant sur l=92autre.
With lstSource
'--- d=E9placer que les =E9lements s=E9lectionn=E9s,
If LimiteSelection Then
For I =3D 0 To .ListCount - 1
'--- inverse le champ selection
If .Selected(I) Then
Db.Execute "UPDATE [tbl Adh=E9rents] SET Selection=3DNOT
Selection WHERE r=E9fAdh=E9rent=3D" & .Column(0, I)
End If
Next I
'--- permutte la globalit=E9
Else
Db.Execute "UPDATE [tbl Adh=E9rents] SET Selection=3D" & CInt
(bolSelection)
End If '22
Nom des deux zones de texte :
txtCompteurGauche
txtCompteurDroite
Nom des deux zones de liste :
lstChampsGauche
lstChampsDroite
Sur la source du ctrl txtCompteurDroite j=92ai ce code qui n=92indique
rien :
=3D[lstChampsGauche].[itemsSelected].Compte
Sur l=92autre zone de texte txtCompteurGauche je ne sais pas quoi faire.
Le but du jeu est de mettre à jour les compteurs txtCompteurCd et txtCompteurCs en fonction des boutons, je suppose ? Tu confirmes ?
Un pb : Quand on clique sur un élément de la liste CS, ça inscrit automatiquement le 1er élément de la liste Cd disponible
jacques a écrit :
> Re bonjoir Eric,
> Erreur de a part la base n'est pas si grosse que ça
>http://cjoint.com/?dsubov3gML
> Salutations
-- A+ Erichttp://www.mpfa.info/ Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r
Re,
Oui je confirme.
Lorsque je passe un enregistrement dans la liste Champs Selectionnés le compteur doit marquer 1 et celui de la liste Champs Disponibles 14.
Quand on clique sur un élément de la liste CS, ça inscrit
automatiquement le 1er élément de la liste Cd disponible
C'est Normal c'est à partir de cette liste que je fais tous mes traitements.
Pour selectionner tous les enregistrements j'utilise le crtl avec >> ou <<
Salutations
Eric
J'ai passé la procédure sur clic de la lstChampsDisponibles sur DoubleClick au lieu de Click sinon tu ne peux pas faire de sélection multiple. J'ai ajouté 2 procédures MAjCd et MajCs qui sont appelées à l'ouverture du formulaire et sur le double-clic de lstChampsDisponibles et sur les 4 boutons (<,<<,>,>>)
La base ici : http://cjoint.com/?dsvXf6wjZm
J'ai passé la procédure sur clic de la lstChampsDisponibles sur
DoubleClick au lieu de Click sinon tu ne peux pas faire de sélection
multiple.
J'ai ajouté 2 procédures MAjCd et MajCs qui sont appelées à l'ouverture
du formulaire et sur le double-clic de lstChampsDisponibles et sur les 4
boutons (<,<<,>,>>)
J'ai passé la procédure sur clic de la lstChampsDisponibles sur DoubleClick au lieu de Click sinon tu ne peux pas faire de sélection multiple. J'ai ajouté 2 procédures MAjCd et MajCs qui sont appelées à l'ouverture du formulaire et sur le double-clic de lstChampsDisponibles et sur les 4 boutons (<,<<,>,>>)
La base ici : http://cjoint.com/?dsvXf6wjZm
jacques
On 16 mar, 21:49, Eric wrote:
J'ai passé la procédure sur clic de la lstChampsDisponibles sur DoubleClick au lieu de Click sinon tu ne peux pas faire de sélection multiple. J'ai ajouté 2 procédures MAjCd et MajCs qui sont appelées à l'ouv erture du formulaire et sur le double-clic de lstChampsDisponibles et sur les 4 boutons (<,<<,>,>>)
La base ici :http://cjoint.com/?dsvXf6wjZm
Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais l'usine a gaz que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
Maintenant je voudrais faire une procédure qui me servira pour tous mes contrôles d'options Je pense qu'avec des variables cela doit -être possible, je saurais faire la syntaxe de la variable du where,mais pour la variable de la table non.
'---Execute une serie d'instruction pour le même objet With lstSource
'--- S'il ne faut déplacer que les élements sélectionnés, If LimiteSelection Then For I = 0 To .ListCount - 1
'Si l'élement est sélectionné dans la liste source, inverse le champ selection If .Selected(I) Then ' 3 db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection WHERE réfAdhérent=" & .Column(0, I) End If '11 Next I
'--- Sinon, permutte la globalité Else db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt (bolSelection) End If
'--- Rafraichit la zone de liste source .Requery End With End If
Encore un grand merci.
Salutations
On 16 mar, 21:49, Eric <f_fra...@hotmail.com> wrote:
J'ai passé la procédure sur clic de la lstChampsDisponibles sur
DoubleClick au lieu de Click sinon tu ne peux pas faire de sélection
multiple.
J'ai ajouté 2 procédures MAjCd et MajCs qui sont appelées à l'ouv erture
du formulaire et sur le double-clic de lstChampsDisponibles et sur les 4
boutons (<,<<,>,>>)
La base ici :http://cjoint.com/?dsvXf6wjZm
Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais
l'usine a gaz
que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
Maintenant je voudrais faire une procédure qui me servira pour tous
mes contrôles d'options
Je pense qu'avec des variables cela doit -être possible, je saurais
faire la syntaxe de la variable du where,mais pour la variable de la
table non.
'---Execute une serie d'instruction pour le même objet
With lstSource
'--- S'il ne faut déplacer que les élements sélectionnés,
If LimiteSelection Then
For I = 0 To .ListCount - 1
'Si l'élement est sélectionné dans la liste source, inverse le
champ selection
If .Selected(I) Then ' 3
db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
WHERE réfAdhérent=" & .Column(0, I)
End If '11
Next I
'--- Sinon, permutte la globalité
Else
db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt
(bolSelection)
End If
'--- Rafraichit la zone de liste source
.Requery
End With
End If
J'ai passé la procédure sur clic de la lstChampsDisponibles sur DoubleClick au lieu de Click sinon tu ne peux pas faire de sélection multiple. J'ai ajouté 2 procédures MAjCd et MajCs qui sont appelées à l'ouv erture du formulaire et sur le double-clic de lstChampsDisponibles et sur les 4 boutons (<,<<,>,>>)
La base ici :http://cjoint.com/?dsvXf6wjZm
Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais l'usine a gaz que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
Maintenant je voudrais faire une procédure qui me servira pour tous mes contrôles d'options Je pense qu'avec des variables cela doit -être possible, je saurais faire la syntaxe de la variable du where,mais pour la variable de la table non.
'---Execute une serie d'instruction pour le même objet With lstSource
'--- S'il ne faut déplacer que les élements sélectionnés, If LimiteSelection Then For I = 0 To .ListCount - 1
'Si l'élement est sélectionné dans la liste source, inverse le champ selection If .Selected(I) Then ' 3 db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection WHERE réfAdhérent=" & .Column(0, I) End If '11 Next I
'--- Sinon, permutte la globalité Else db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt (bolSelection) End If
'--- Rafraichit la zone de liste source .Requery End With End If
Encore un grand merci.
Salutations
Eric
Bonjour,
Pour faire simple, supprimes MajCd et MajCs et remplaces-les par celle-ci que tu appelleras sur Ouverture du Formulaire, les boutons Retiré, Sélectionné, TousRetiré, TousSélectionné et lstChampsDisponibles_DblClick car les 2 listes sont liées, j’ai été un peu vite hier :-(
Sub MajCdCs() Me.txtCompteurCd = Me.lstChampsDisponibles.ListCount Me.txtCompteurCs = Me.lstChampsSélectionnés.ListCount End Sub
Pour la suite de ta question, (histoire du cadre d'options au 9 possibilités), que veux-tu précisément ?
jacques a écrit :
On 16 mar, 21:49, Eric wrote:
Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais l'usine a gaz que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
Maintenant je voudrais faire une procédure qui me servira pour tous mes contrôles d'options Je pense qu'avec des variables cela doit -être possible, je saurais faire la syntaxe de la variable du where,mais pour la variable de la table non.
'---Execute une serie d'instruction pour le même objet With lstSource
'--- S'il ne faut déplacer que les élements sélectionnés, If LimiteSelection Then For I = 0 To .ListCount - 1
'Si l'élement est sélectionné dans la liste source, inverse le champ selection If .Selected(I) Then ' 3 db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection WHERE réfAdhérent=" & .Column(0, I) End If '11 Next I
'--- Sinon, permutte la globalité Else db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt (bolSelection) End If
'--- Rafraichit la zone de liste source .Requery End With End If
Encore un grand merci.
Salutations
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Pour faire simple, supprimes MajCd et MajCs et remplaces-les par
celle-ci que tu appelleras sur Ouverture du Formulaire, les boutons
Retiré, Sélectionné, TousRetiré, TousSélectionné et
lstChampsDisponibles_DblClick car les 2 listes sont liées, j’ai été un
peu vite hier :-(
Sub MajCdCs()
Me.txtCompteurCd = Me.lstChampsDisponibles.ListCount
Me.txtCompteurCs = Me.lstChampsSélectionnés.ListCount
End Sub
Pour la suite de ta question, (histoire du cadre d'options au 9
possibilités), que veux-tu précisément ?
jacques a écrit :
On 16 mar, 21:49, Eric <f_fra...@hotmail.com> wrote:
Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais
l'usine a gaz
que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
Maintenant je voudrais faire une procédure qui me servira pour tous
mes contrôles d'options
Je pense qu'avec des variables cela doit -être possible, je saurais
faire la syntaxe de la variable du where,mais pour la variable de la
table non.
'---Execute une serie d'instruction pour le même objet
With lstSource
'--- S'il ne faut déplacer que les élements sélectionnés,
If LimiteSelection Then
For I = 0 To .ListCount - 1
'Si l'élement est sélectionné dans la liste source, inverse le
champ selection
If .Selected(I) Then ' 3
db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
WHERE réfAdhérent=" & .Column(0, I)
End If '11
Next I
'--- Sinon, permutte la globalité
Else
db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt
(bolSelection)
End If
'--- Rafraichit la zone de liste source
.Requery
End With
End If
Encore un grand merci.
Salutations
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Pour faire simple, supprimes MajCd et MajCs et remplaces-les par celle-ci que tu appelleras sur Ouverture du Formulaire, les boutons Retiré, Sélectionné, TousRetiré, TousSélectionné et lstChampsDisponibles_DblClick car les 2 listes sont liées, j’ai été un peu vite hier :-(
Sub MajCdCs() Me.txtCompteurCd = Me.lstChampsDisponibles.ListCount Me.txtCompteurCs = Me.lstChampsSélectionnés.ListCount End Sub
Pour la suite de ta question, (histoire du cadre d'options au 9 possibilités), que veux-tu précisément ?
jacques a écrit :
On 16 mar, 21:49, Eric wrote:
Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais l'usine a gaz que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
Maintenant je voudrais faire une procédure qui me servira pour tous mes contrôles d'options Je pense qu'avec des variables cela doit -être possible, je saurais faire la syntaxe de la variable du where,mais pour la variable de la table non.
'---Execute une serie d'instruction pour le même objet With lstSource
'--- S'il ne faut déplacer que les élements sélectionnés, If LimiteSelection Then For I = 0 To .ListCount - 1
'Si l'élement est sélectionné dans la liste source, inverse le champ selection If .Selected(I) Then ' 3 db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection WHERE réfAdhérent=" & .Column(0, I) End If '11 Next I
'--- Sinon, permutte la globalité Else db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt (bolSelection) End If
'--- Rafraichit la zone de liste source .Requery End With End If
Encore un grand merci.
Salutations
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
jacques
On 17 mar, 07:44, Eric wrote:
Bonjour,
Pour faire simple, supprimes MajCd et MajCs et remplaces-les par celle-ci que tu appelleras sur Ouverture du Formulaire, les boutons Retiré, Sélectionné, TousRetiré, TousSélectionné et lstChampsDisponibles_DblClick car les 2 listes sont liées, jai ét é un peu vite hier :-(
Sub MajCdCs() Me.txtCompteurCd = Me.lstChampsDisponibles.ListCount Me.txtCompteurCs = Me.lstChampsSélectionnés.ListCou nt End Sub
Pour la suite de ta question, (histoire du cadre d'options au 9 possibilités), que veux-tu précisément ?
jacques a écrit :
> On 16 mar, 21:49, Eric wrote:
> Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
> Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais > l'usine a gaz > que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
> Maintenant je voudrais faire une procédure qui me servira pour tous > mes contrôles d'options > Je pense qu'avec des variables cela doit -être possible, je saurais > faire la syntaxe de la variable du where,mais pour la variable de la > table non.
> '---Execute une serie d'instruction pour le même objet > With lstSource
> '--- S'il ne faut déplacer que les élements sélectionnés, > If LimiteSelection Then > For I = 0 To .ListCount - 1
> 'Si l'élement est sélectionné dans la liste source, inver se le > champ selection > If .Selected(I) Then ' 3 > db.Execute "UPDATE [tbl Adhérents] SET Selection=NO T Selection > WHERE réfAdhérent=" & .Column(0, I) > End If '11 > Next I
> '--- Sinon, permutte la globalité > Else > db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt > (bolSelection) > End If
> '--- Rafraichit la zone de liste source > .Requery > End With > End If
> Encore un grand merci.
> Salutations
-- A+ Erichttp://www.mpfa.info/ Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour Eric,
Merci pour la nouvelle ligne de code.
Certains groupe d'option (9) font appel à d'autres tables que tbl Adhérents, et au lieu d'écrire 9 fois le code ci dessus, je voudrais mettre des variables à tbl et where sur cette ligne pour faire une sub:
db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
> WHERE réfAdhérent=" & .Column(0, I)
Bonne journée.
Salutations
On 17 mar, 07:44, Eric <f_fra...@hotmail.com> wrote:
Bonjour,
Pour faire simple, supprimes MajCd et MajCs et remplaces-les par
celle-ci que tu appelleras sur Ouverture du Formulaire, les boutons
Retiré, Sélectionné, TousRetiré, TousSélectionné et
lstChampsDisponibles_DblClick car les 2 listes sont liées, jai ét é un
peu vite hier :-(
Sub MajCdCs()
Me.txtCompteurCd = Me.lstChampsDisponibles.ListCount
Me.txtCompteurCs = Me.lstChampsSélectionnés.ListCou nt
End Sub
Pour la suite de ta question, (histoire du cadre d'options au 9
possibilités), que veux-tu précisément ?
jacques a écrit :
> On 16 mar, 21:49, Eric <f_fra...@hotmail.com> wrote:
> Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
> Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais
> l'usine a gaz
> que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
> Maintenant je voudrais faire une procédure qui me servira pour tous
> mes contrôles d'options
> Je pense qu'avec des variables cela doit -être possible, je saurais
> faire la syntaxe de la variable du where,mais pour la variable de la
> table non.
> '---Execute une serie d'instruction pour le même objet
> With lstSource
> '--- S'il ne faut déplacer que les élements sélectionnés,
> If LimiteSelection Then
> For I = 0 To .ListCount - 1
> 'Si l'élement est sélectionné dans la liste source, inver se le
> champ selection
> If .Selected(I) Then ' 3
> db.Execute "UPDATE [tbl Adhérents] SET Selection=NO T Selection
> WHERE réfAdhérent=" & .Column(0, I)
> End If '11
> Next I
> '--- Sinon, permutte la globalité
> Else
> db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt
> (bolSelection)
> End If
> '--- Rafraichit la zone de liste source
> .Requery
> End With
> End If
> Encore un grand merci.
> Salutations
--
A+
Erichttp://www.mpfa.info/
Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour Eric,
Merci pour la nouvelle ligne de code.
Certains groupe d'option (9) font appel à d'autres tables que tbl
Adhérents, et au lieu d'écrire
9 fois le code ci dessus, je voudrais mettre des variables à tbl et
where sur cette ligne pour faire une sub:
db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
Pour faire simple, supprimes MajCd et MajCs et remplaces-les par celle-ci que tu appelleras sur Ouverture du Formulaire, les boutons Retiré, Sélectionné, TousRetiré, TousSélectionné et lstChampsDisponibles_DblClick car les 2 listes sont liées, jai ét é un peu vite hier :-(
Sub MajCdCs() Me.txtCompteurCd = Me.lstChampsDisponibles.ListCount Me.txtCompteurCs = Me.lstChampsSélectionnés.ListCou nt End Sub
Pour la suite de ta question, (histoire du cadre d'options au 9 possibilités), que veux-tu précisément ?
jacques a écrit :
> On 16 mar, 21:49, Eric wrote:
> Re Bonsoir Eric, ou Bonjour si tu ouvre ce message demain,
> Merci beaucoup pour ton aide qui m'apporte beaucoup, si tu savais > l'usine a gaz > que j'avais fait pour avoir mes numéros d'enregistrements!!!!!.
> Maintenant je voudrais faire une procédure qui me servira pour tous > mes contrôles d'options > Je pense qu'avec des variables cela doit -être possible, je saurais > faire la syntaxe de la variable du where,mais pour la variable de la > table non.
> '---Execute une serie d'instruction pour le même objet > With lstSource
> '--- S'il ne faut déplacer que les élements sélectionnés, > If LimiteSelection Then > For I = 0 To .ListCount - 1
> 'Si l'élement est sélectionné dans la liste source, inver se le > champ selection > If .Selected(I) Then ' 3 > db.Execute "UPDATE [tbl Adhérents] SET Selection=NO T Selection > WHERE réfAdhérent=" & .Column(0, I) > End If '11 > Next I
> '--- Sinon, permutte la globalité > Else > db.Execute "UPDATE [tbl Adhérents] SET Selection=" & CInt > (bolSelection) > End If
> '--- Rafraichit la zone de liste source > .Requery > End With > End If
> Encore un grand merci.
> Salutations
-- A+ Erichttp://www.mpfa.info/ Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour Eric,
Merci pour la nouvelle ligne de code.
Certains groupe d'option (9) font appel à d'autres tables que tbl Adhérents, et au lieu d'écrire 9 fois le code ci dessus, je voudrais mettre des variables à tbl et where sur cette ligne pour faire une sub:
db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
> WHERE réfAdhérent=" & .Column(0, I)
Bonne journée.
Salutations
Eric
re,
jacques a écrit :
Certains groupe d'option (9) font appel à d'autres tables que tbl Adhérents, et au lieu d'écrire 9 fois le code ci dessus, je voudrais mettre des variables à tbl et where sur cette ligne pour faire une sub:
db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
WHERE réfAdhérent=" & .Column(0, I)
Je ferai un Select Case me!Cadre8 pour définir la table à mettre à jour (prévoir aussi le champs s'il change par exemple :refadhérent --> refbénévole) ainsi que les labels.
Ca pourrait donner quelque chose du genre : Private Sub TransposerElement(lstSource As ListBox, lstDestination As ListBox, _ Optional LimiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
Dim I As Integer Dim db As DAO.Database Set db = CurrentDb Dim sql As String, NomTable as String Select Case Me!Cadre8 Case 1 strMessage = "Adhérents de l'exercice en cours" lblMessage.Caption = strMessage NomTable=" tbl Adhérents" Case 2 strMessage = "Bénévoles" lblMessage.Caption = strMessage NomTable=" tbl Bénévoles" ' … Faire les autres cas End Select
'---Execute une serie d'instruction pour le même objet
With lstSource '--- S'il ne faut déplacer que les élements sélectionnés, If LimiteSelection Then For I = 0 To .ListCount - 1 If .Selected(I) Then ' 3 db.Execute "UPDATE [" & NomTable & _ "] SET Selection=NOT Selection WHERE réfAdhérent=" & _ .Column(0, I) End If Next I '--- Sinon, permutte la globalité Else db.Execute "UPDATE [" & NomTable & "] SET Selection=" & CInt(bolSelection) 'passage 4 cbol select faux b4 vrai End If '--- Rafraichit la zone de liste source .Requery
End With ' ...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
jacques a écrit :
Certains groupe d'option (9) font appel à d'autres tables que tbl
Adhérents, et au lieu d'écrire
9 fois le code ci dessus, je voudrais mettre des variables à tbl et
where sur cette ligne pour faire une sub:
db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
WHERE réfAdhérent=" & .Column(0, I)
Je ferai un Select Case me!Cadre8 pour définir la table à mettre à jour
(prévoir aussi le champs s'il change par exemple :refadhérent -->
refbénévole) ainsi que les labels.
Ca pourrait donner quelque chose du genre :
Private Sub TransposerElement(lstSource As ListBox, lstDestination As
ListBox, _
Optional LimiteSelection As Boolean =
True, Optional bolSelection As Boolean = True)
Dim I As Integer
Dim db As DAO.Database
Set db = CurrentDb
Dim sql As String, NomTable as String
Select Case Me!Cadre8
Case 1
strMessage = "Adhérents de l'exercice en cours"
lblMessage.Caption = strMessage
NomTable=" tbl Adhérents"
Case 2
strMessage = "Bénévoles"
lblMessage.Caption = strMessage
NomTable=" tbl Bénévoles"
' … Faire les autres cas
End Select
'---Execute une serie d'instruction pour le même objet
With lstSource
'--- S'il ne faut déplacer que les élements sélectionnés,
If LimiteSelection Then
For I = 0 To .ListCount - 1
If .Selected(I) Then ' 3
db.Execute "UPDATE [" & NomTable & _
"] SET Selection=NOT Selection WHERE réfAdhérent=" & _
.Column(0, I)
End If
Next I
'--- Sinon, permutte la globalité
Else
db.Execute "UPDATE [" & NomTable & "] SET Selection=" &
CInt(bolSelection) 'passage 4 cbol select faux b4 vrai
End If
'--- Rafraichit la zone de liste source
.Requery
End With
' ...
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Certains groupe d'option (9) font appel à d'autres tables que tbl Adhérents, et au lieu d'écrire 9 fois le code ci dessus, je voudrais mettre des variables à tbl et where sur cette ligne pour faire une sub:
db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
WHERE réfAdhérent=" & .Column(0, I)
Je ferai un Select Case me!Cadre8 pour définir la table à mettre à jour (prévoir aussi le champs s'il change par exemple :refadhérent --> refbénévole) ainsi que les labels.
Ca pourrait donner quelque chose du genre : Private Sub TransposerElement(lstSource As ListBox, lstDestination As ListBox, _ Optional LimiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
Dim I As Integer Dim db As DAO.Database Set db = CurrentDb Dim sql As String, NomTable as String Select Case Me!Cadre8 Case 1 strMessage = "Adhérents de l'exercice en cours" lblMessage.Caption = strMessage NomTable=" tbl Adhérents" Case 2 strMessage = "Bénévoles" lblMessage.Caption = strMessage NomTable=" tbl Bénévoles" ' … Faire les autres cas End Select
'---Execute une serie d'instruction pour le même objet
With lstSource '--- S'il ne faut déplacer que les élements sélectionnés, If LimiteSelection Then For I = 0 To .ListCount - 1 If .Selected(I) Then ' 3 db.Execute "UPDATE [" & NomTable & _ "] SET Selection=NOT Selection WHERE réfAdhérent=" & _ .Column(0, I) End If Next I '--- Sinon, permutte la globalité Else db.Execute "UPDATE [" & NomTable & "] SET Selection=" & CInt(bolSelection) 'passage 4 cbol select faux b4 vrai End If '--- Rafraichit la zone de liste source .Requery
End With ' ...
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
jacques
On 17 mar, 10:51, Eric wrote:
re,
jacques a écrit :
> Certains groupe d'option (9) font appel à d'autres tables que tbl > Adhérents, et au lieu d'écrire > 9 fois le code ci dessus, je voudrais mettre des variables à tbl et > where sur cette ligne pour faire une sub:
> db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection >>> WHERE réfAdhérent=" & .Column(0, I)
Je ferai un Select Case me!Cadre8 pour définir la table à mettre à jour (prévoir aussi le champs s'il change par exemple :refadhérent --> refbénévole) ainsi que les labels.
Ca pourrait donner quelque chose du genre : Private Sub TransposerElement(lstSource As ListBox, lstDestination As ListBox, _ Optional L imiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
Dim I As Integer Dim db As DAO.Database Set db = CurrentDb Dim sql As String, NomTable as String Select Case Me!Cadre8 Case 1 strMessage = "Adhérents de l'exercice en cours" lblMessage.Caption = strMessage NomTable=" tbl Adhérents" Case 2 strMessage = "Bénévoles" lblMessage.Caption = strMessage NomTable=" tbl Bénévoles" ' Faire les autres cas End Select
'---Execute une serie d'instruction pour le même objet
With lstSource '--- S'il ne faut déplacer que les élements sélectionnés, If LimiteSelection Then For I = 0 To .ListCount - 1 If .Selected(I) Then ' 3 db.Execut e "UPDATE [" & NomTable & _ "] SET Selection=NOT Selection WHERE r éfAdhérent=" & _ .Column(0, I) End If Next I '--- Sinon, permutte la globalité Else db.Execute "UPDATE [" & NomTable & "] SET Selection=" & CInt(bolSelection) 'passage 4 cbol select faux b4 vrai End If '--- Rafraichit la zone de liste source .Requery
End With ' ...
-- A+ Erichttp://www.mpfa.info/ Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r
Bonjour Eric,
Merci pour ta réponse qui me convient.
A+
Salutations
On 17 mar, 10:51, Eric <f_fra...@hotmail.com> wrote:
re,
jacques a écrit :
> Certains groupe d'option (9) font appel à d'autres tables que tbl
> Adhérents, et au lieu d'écrire
> 9 fois le code ci dessus, je voudrais mettre des variables à tbl et
> where sur cette ligne pour faire une sub:
> db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection
>>> WHERE réfAdhérent=" & .Column(0, I)
Je ferai un Select Case me!Cadre8 pour définir la table à mettre à jour
(prévoir aussi le champs s'il change par exemple :refadhérent -->
refbénévole) ainsi que les labels.
Ca pourrait donner quelque chose du genre :
Private Sub TransposerElement(lstSource As ListBox, lstDestination As
ListBox, _
Optional L imiteSelection As Boolean =
True, Optional bolSelection As Boolean = True)
Dim I As Integer
Dim db As DAO.Database
Set db = CurrentDb
Dim sql As String, NomTable as String
Select Case Me!Cadre8
Case 1
strMessage = "Adhérents de l'exercice en cours"
lblMessage.Caption = strMessage
NomTable=" tbl Adhérents"
Case 2
strMessage = "Bénévoles"
lblMessage.Caption = strMessage
NomTable=" tbl Bénévoles"
' Faire les autres cas
End Select
'---Execute une serie d'instruction pour le même objet
With lstSource
'--- S'il ne faut déplacer que les élements sélectionnés,
If LimiteSelection Then
For I = 0 To .ListCount - 1
If .Selected(I) Then ' 3
db.Execut e "UPDATE [" & NomTable & _
"] SET Selection=NOT Selection WHERE r éfAdhérent=" & _
.Column(0, I)
End If
Next I
'--- Sinon, permutte la globalité
Else
db.Execute "UPDATE [" & NomTable & "] SET Selection=" &
CInt(bolSelection) 'passage 4 cbol select faux b4 vrai
End If
'--- Rafraichit la zone de liste source
.Requery
End With
' ...
--
A+
Erichttp://www.mpfa.info/
Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r
> Certains groupe d'option (9) font appel à d'autres tables que tbl > Adhérents, et au lieu d'écrire > 9 fois le code ci dessus, je voudrais mettre des variables à tbl et > where sur cette ligne pour faire une sub:
> db.Execute "UPDATE [tbl Adhérents] SET Selection=NOT Selection >>> WHERE réfAdhérent=" & .Column(0, I)
Je ferai un Select Case me!Cadre8 pour définir la table à mettre à jour (prévoir aussi le champs s'il change par exemple :refadhérent --> refbénévole) ainsi que les labels.
Ca pourrait donner quelque chose du genre : Private Sub TransposerElement(lstSource As ListBox, lstDestination As ListBox, _ Optional L imiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
Dim I As Integer Dim db As DAO.Database Set db = CurrentDb Dim sql As String, NomTable as String Select Case Me!Cadre8 Case 1 strMessage = "Adhérents de l'exercice en cours" lblMessage.Caption = strMessage NomTable=" tbl Adhérents" Case 2 strMessage = "Bénévoles" lblMessage.Caption = strMessage NomTable=" tbl Bénévoles" ' Faire les autres cas End Select
'---Execute une serie d'instruction pour le même objet
With lstSource '--- S'il ne faut déplacer que les élements sélectionnés, If LimiteSelection Then For I = 0 To .ListCount - 1 If .Selected(I) Then ' 3 db.Execut e "UPDATE [" & NomTable & _ "] SET Selection=NOT Selection WHERE r éfAdhérent=" & _ .Column(0, I) End If Next I '--- Sinon, permutte la globalité Else db.Execute "UPDATE [" & NomTable & "] SET Selection=" & CInt(bolSelection) 'passage 4 cbol select faux b4 vrai End If '--- Rafraichit la zone de liste source .Requery
End With ' ...
-- A+ Erichttp://www.mpfa.info/ Archives :http://groups.google.fr/group/microsoft.public.fr.access?hl=f r