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

Access Discussion :

créer des cases à cocher avec du vba dans un formulaire pour chaque enregistrement d'une table [AC-2010]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 80
    Points : 63
    Points
    63
    Par défaut créer des cases à cocher avec du vba dans un formulaire pour chaque enregistrement d'une table
    Bonjour,

    J'essaye de créer des cases à cocher pour chaque enregistrement d'une table avec du vba. Par exemple, j'ai la table T1. Dans le champ champ1, j'ai comme enregistrement : 1, 2, 3, 4, 5 (les enregistrements sont du texte) .
    J'aimerai ajouter, à l'ouverture d'un formulaire (form1), des cases à cocher pour chaque enregistrement de la table.

    J'ai cherché partout sur internet mais je n'ai pas trouvé de solutions.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Tu peux modifier la structure d'une table par VBA mais c'est assez complexe et lourd.

    Une solution plus simple est de copier les données voulues dans une table qui elle-même contient un champ booléen ou de simplement ajouter un champ booléen à ta table source.
    Dans le cas du champ dans la table source, il suffit de le pas l'afficher quand tu n'en as pas besoin.

    Attention si tu es environnement multi-utilisateur. Selon ce à quoi sert le champs cela peut poser un problème si tu as besoin que le cochage dépende de l'utilisateur.
    Dans ce cas il faut faire une table à côté qui va enregistrer la sélection :

    tblSelection
    ClefSelection
    CodeUsager
    ClefDonneeSelectionne

    Une alternative à tout cela est d'utiliser une liste avec sélection multiple.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonsoir,

    Tu veux créer des case à cocher dans ta table et modifier sa structure comme le propose marot_r ou tu veux modifier un formulaire afin de créer dynamiquement autant de case à cocher que tu as de champs dans ta table ?
    Dans le cas ou tu voudrait travailler dans ton formulaire, tu ne peux pas créer des controls dynamiquement une fois que ce dernier est ouvert!
    Tu dois l'ouvrir d'abords en mode création, modifier sa structure, l'enregistrer et ensuite l'ouvrir en mode normal
    @+


    Pensez au tag

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 80
    Points : 63
    Points
    63
    Par défaut
    Bonjour.
    Merci de vos réponses. Finalement, on a pu trouver une solution avec un ami.
    Je la mets ici au cas où ça aiderai d'autres personnes :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Public Sub cible_coche()
        DoCmd.OpenForm "ssform_Liste", acDesign
     
        Dim case_a_cocher, libelle As Control
        Dim i As Integer
     
        Dim nb
        nb = CurrentDb.OpenRecordset("select count(*) FROM Liste").Fields(0).Value
     
        Dim recordset
     
        For i = 1 To nb
     
            recordset = CurrentDb.OpenRecordset("SELECT * FROM Liste WHERE Ordre_affichage=" & i)
            'création de la zone de texte
            Set libelle = CreateControl("ssform_Liste", acLabel, , , , , , 2000, 250)
            libelle.Top = 200
            libelle.Left = 2000 * (i - 1) + 500
            libelle.Caption = recordset(1).Value
            libelle.TextAlign = 20  ' à modifier pour centrer + renvoi à la ligne
     
            'création de la coche
            Set case_a_cocher = CreateControl("ssform_Liste", acCheckBox, , "Nom_Table_associee", , , , 250, 250)
            case_a_cocher.Top = 700
            case_a_cocher.Left = 2000 * (i - 1) + 500 + 2000 / 2
            case_a_cocher.Name = recordset(2).Value
     
        Next
     
    End Sub
    ps: comment on fait pour coller le code avec l'affichage du vba ? ^^

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

Discussions similaires

  1. [Smarty] Manipulation des cases à cocher avec Smarty
    Par lajmi dans le forum Bibliothèques et frameworks
    Réponses: 24
    Dernier message: 21/10/2011, 16h02
  2. [JSP] Créer un fichier XML avec un textarea dans un formulaire.
    Par auxiliaire dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/08/2011, 17h31
  3. [MySQL] Créer des cases à cocher dynamiques
    Par Vetchostar dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/10/2008, 10h32
  4. Réponses: 4
    Dernier message: 20/12/2007, 07h58
  5. Créer des cases à cocher
    Par Panama dans le forum Langage
    Réponses: 1
    Dernier message: 29/01/2007, 22h39

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