IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

changer plusieurs check box d'un coup [AC-2016]


Sujet :

IHM

  1. #1
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut changer plusieurs check box d'un coup
    Bonjour,

    Voici un fomulaire basé sur une table simple.
    Nom : Confirmation multi lignes.PNG
Affichages : 88
Taille : 11,5 Ko
    Je souhaite que lorsque l'utilisateur clique une case TRA, toutes les case TRA pour tous les Jobs de ce même travail soient mises à jour.

    En d'autres mots, dès que l'utilisateur confirme le job 8 de 'Salon', immédiatement le job 11 de Salon est lui-aussi confirmé à l'écran.

    Comment puis-je faire ?

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Entretemps, j'ai trouvé ma solution.

    Sur l'évènement click de TRA j'avais écrit ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub TRA_Click()
    'When user clicks on 1 check box, all the check boxes of that same TRAVAIL are updated accordingly
    Dim strTravail As String
    Dim strQuery As String
     
    strTravail = Me.Travail
     
    'Mettre à jour la table
    strQuery = "UPDATE T_Travail "
    strQuery = strQuery & "SET T_Travail.TRA = True "
    strQuery = strQuery & "WHERE (((T_Travail.Travail)='" & strTravail & "'));"
    CurrentDb.Execute strQuery
     
    'Mettre à jour le formulaire
    Me.Refresh
     
    End Sub
    Ce code me donnait un message d'erreur de conflit d'écriture parce que 'un autre utilisateur' modifiait les mêmes données.

    En fait, avec ce code je mettais à jour par le formulaire et par la requête SQL, soit par deux méthodes. C'est pour cela que Access considérait 2 utilisateurs concurents.
    Pour supprimer ce conflit, je confirme l'écriture dans le formulaire en rajoutant un Me.Refresh avant d'exécuter le statement SQL. Cela donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub TRA_Click()
    'When user clicks on 1 check box, all the check boxes of that same TRAVAIL are updated accordingly
    Dim strTravail As String
    Dim strQuery As String
     
    strTravail = Me.Travail
     
    'Mettre à jour le formulaire pour la ligne cochée
    Me.Refresh
     
    'Mettre à jour la table
    strQuery = "UPDATE T_Travail "
    strQuery = strQuery & "SET T_Travail.TRA = True "
    strQuery = strQuery & "WHERE (((T_Travail.Travail)='" & strTravail & "'));"
    CurrentDb.Execute strQuery
     
    'De nouveau mettre à jour le formulaire pour toutes les lignes
    Me.Refresh
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/01/2013, 19h00
  2. Changer la couleur de texte d'une check box
    Par Julgood dans le forum MFC
    Réponses: 2
    Dernier message: 05/03/2010, 10h11
  3. Changer plusieurs images d'un coup
    Par YanK dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 18/07/2005, 17h33
  4. [FLASH 5] check box sous Flash 5
    Par Flash5man dans le forum Flash
    Réponses: 7
    Dernier message: 01/09/2004, 08h48
  5. Réponses: 2
    Dernier message: 05/12/2002, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo