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 :

[case à cocher] définir un enregistrement spécifique pour une case


Sujet :

IHM

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut [case à cocher] définir un enregistrement spécifique pour une case
    Bonjour,

    Je réalise actuellement un formulaire avec des cases à cocher.

    Pour un enregistrement dans une table nommé T_résultatcontrole, j'ai plusieurs champs (OK, KO...etc).

    Dans mon formulaire en fonction de choix qui auront été fait sur des forms précédent, j'ai des enregistrements unqiue avec un ID (idPtCtrl) qui apparaitront dans ma table T_resultatcontrole et qui corresponde à une ligne spécifique sur mon formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    T_ResultatControle :
    idControleDossier	idPtCtrl	OK	KO	…
    144			1		oui	non	…
    144			6		non	oui	…
    144			7		non	oui	…
    …
    Je souhaite que les cases qui seront cochés viennent remplir le bon enregistrement. La ligne 1 de mon form devra remplir idPtCtrl 1, la ligne 2 idPtCtrl 6.... Chaque case sur une ligne (dans le form) devra correspondre à un IDptctrl unique.

    je pense donc que je dois assigner à chaque case le bon IDptctrl(libelleptscontrole). Mais c'est a ce niveau la que je bloque. comment assigner le bon enregistrement. La source controle de ma case "ok" renvoi donc au champ "OK" de la table T_resultatcontrole. j'imagine que je dois créer une requete qui indiquera que la case doit renseigner tel enregistrement.

    Mais le source controle d'une case ne propose qu'un générateur d'expression...

    bref je ne sais pas trop comment faire et si quelqu'un avait une solution ca m'aiderait énormément !!!

    merci d'avance

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 206
    Points : 243
    Points
    243
    Par défaut
    Tu peux faire comme ceci :

    Pour commencer tu nommes tes cases à cocher toutes de la même manière à l'exception de l'indice.

    Pour l'exemple, on va considérer qu'elle sont nommées "chk1", "chk6", "chk7"...

    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
    Dim RcdSet As DAO.RecordSet
    Dim strSQL As String
    Dim intBool As Integer
       'On récupère les enregistrements de la table dans un RecordSet
    StrSQL = " SELECT * FROM T_ResultatControle "
    Set RcdSet = CurrentDb.OpenRecordset(strSQL, dbOpenForwardOnly, dbReadOnly)
     
        ' On parcourt le jeu d'enregistrements
    While Not RcdSet.EOF
     
        If RcdSet![OK] = "oui" Then
             intBool = -1
        Else
             intBool = 0
        End If
              'On coche ou non la case
        Me.Controls("chk" & RcdSet![idPtCtrl]) = intBool
     
        RcdSet.MoveNext
    Wend
    Cela permet de cocher ou non la case qui correspond à l'enregistrement.

    Est-ce bien ca que tu voulais?

    Sinon peux-tu joindre ton fichier afin de se faire une idée plus claire.

    Edit : Il semblerait que j'ai pris le problème à l'envers . Ce que tu souhaite, c'est que lorsque tu coches ou décoches une case, cela aille modifier la ligne correspondante de ta table?

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Merci !!!

    je n'ai pas encore testé, je me demandais si avec ce code il était possible de pouvoir cocher n'importe qu'elle ligne. je m'explique.

    j'ai un formA, dans ce form j'ai un controle onglet avec un sous form pour chaque onglet. Ces onglets représente des thèmes.

    Au total j'ai 4 formulaires. Sur un form précédent la pers devra choisir dans la liste1 commercant ou artisan dans la liste 2 droit propre ou droit dérivé. En fonction de ces choix un des 4 form s'ouvrira.

    La personne pourra très bien aller à l'onglet 4 et cocher une ligne puis revenir à l'onglet 2, bref les lignes ne se cocheront pas dans l'ordre.

    Donc est ce possible avec ton code???

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    voila deux de mes tables.

    un idptctrl représentete en faite un droit, un statut et un libelle.

    donc pour le idptctrl 01 = commercant (1) ; droit propre (1) ; dossier signé (1)
    pour idptctrl 47 = commercant (1) ; droit dérivé ( 2) ; dossier signé (1)
    dptctrl 89 = artisan (2) ; droit propre ( 1) ; dossier signé (1)

    et ainsi de suite. Vu que dans chaque formualire les onglets peuvent avoir le meme libellés mais qu'a certain endroit il y a des differences je suis obligé dde créer 4 formulaires correspondant à chaque droit et chaque statut.

    je sais pa si tu visualises mieux.

    donc j'ai au total 175 idptctrl partagé sur les 4 forms. j'ai une requet ajout sur un bouton qui apelle les idptctrl qui correspond au choix fait par la pers (artisan, commercant, droit propre, droit dérivé).

    Il faut donc que je repartisse les 175 idptctrl sur chaque case, dans le form correspondant.

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Nouveau post avec plus de détail ICI

Discussions similaires

  1. [MySQL] Afficher le détail d'un enregistrement à partir d'une case à cocher pour le modifier
    Par batoule80 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/10/2008, 11h15
  2. Réponses: 1
    Dernier message: 13/02/2008, 21h51
  3. Commande $\square$ pour une case à cocher -> erreur
    Par enneite dans le forum Mathématiques - Sciences
    Réponses: 2
    Dernier message: 05/12/2007, 20h15
  4. Réponses: 2
    Dernier message: 07/07/2006, 01h26
  5. Réponses: 3
    Dernier message: 15/05/2006, 17h47

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