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 :

Utilisation de cases à cocher dans un sous-formulaire


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut Utilisation de cases à cocher dans un sous-formulaire
    Bonjour,

    Suite à des recherches infructueuses dans la FAQ et les tutoriels Access, je me tourne vers vous pour m'aider à régler un point de détail qui a malheureusement toute son importance dans mon travail.

    SITUATION:

    - 1 formulaire: CAMPAGNE
    - sur CAMPAGNE: il y a 5 Zones de Textes (ZT) (ZT1, ZT2, ZT3, ZT4 et ZT5) et 1 sous-formulaire (CAMPAGNE_SousForm) basé sur une requête CAMPAGNE_SelectionProspects (issue de la table PROSPECTS).

    FONCTIONNEMENT:

    Lorsque je mets à jour ZT2, ZT4 et ZT5, CAMPAGNE_SousForm m'affiche le résultat de la requête CAMPAGNE_SelectionProspects.
    On admet que le résultat de la requête affiche 30 lignes. Je désire n'en sélectionner que 10. Pour cela, je décide donc d'utiliser des cases à cocher que je rajoute sur le sous-formulaire. Enfin, lorsque tout est prêt, je clique sur OK ce qui rajoute une information dans un champs de la table PROSPECTS (on va dire que lorsque je clique sur OK, cela mets 1 sur les lignes sélectionnées)

    PROBLEMES:

    1°) Lorsque je sélectionne 1 case sur 1 ligne, c'est les 30 cases des 30 lignes qui se cochent. Comment faire pour que seule la case désirée soit cochée?
    2°) Je ne connais pas le fonctionnement des cases à cocher donc comment dois-je faire pour que le 1 soit correctement inscrit?

    Merci,
    Mr White

  2. #2
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    salut
    1/tu ajoutes un champ de type oui/non a la table PROSPECTS;avec pour valeur par defaut-->0;
    2/tu fais apparaitre ce champ dans ta requete CAMPAGNE_SelectionProspects
    j'espere seulement avoir compris ton pb.

  3. #3
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    slt,
    1°) Lorsque je sélectionne 1 case sur 1 ligne, c'est les 30 cases des 30 lignes qui se cochent. Comment faire pour que seule la case désirée soit cochée?
    Ta case a coché dois etre dans la Table qui affiche les "lignes" dans ton SF CAMPAGNE_SelectionProspects pour que celle-ci puissent etre en relation avec la ligne selectionnée !
    Je désire n'en sélectionner que 10. Pour cela, je décide donc d'utiliser des cases à cocher que je rajoute sur le sous-formulaire
    Elle est indépendante, quand tu l'a rajoute a ton SF, elle réagit comme une seule case a cocher pour tout le SF !
    2°) Je ne connais pas le fonctionnement des cases à cocher donc comment dois-je faire pour que le 1 soit correctement inscrit?
    Il me semble que OUI =-1 et NON=0

  4. #4
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Si, si vous avez bien compris ce que je voulais dans mon explication, je l'avoue, peu claire.

    Ma question n°1:

    J'ai bien fait ce que me dit Keita mais ça ne marche pas. En effet, maintenant j'ai bien quelque chose de lié entre la table et le sous formulaire mais ce n'est pas modifiable, c'est-à-dire que je ne peux pas sélectionner une ligne (aucun passage à l'état "oui" n'est possible).

    Ma question n°2:

    OUI=-1
    NON=0

    Ok mais est-ce que vous avez une idée de comment mettre ça en forme pour que sur click B_OK j'ai 1 qui soit inscrit sur la bonne ligne.
    Je pencherai vers ce qui suit mais sans aucune conviction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If [CAMPAGNE_SousForm]![Selection]=-1 Then
    DoCmd.OpenQuery "Mettre 1 dans les bonnes lignes"
    End If
    Qu'est ce que vous en pensez?

    Mr White

  5. #5
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    ouvre la table elle meme et essai de cocher pour voir

  6. #6
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    quand je fais ça, ça marche...étrange..
    Je me suis dis que ça venait peut-être de Vérouillé dans les propriétés mais non.
    D'ailleur, je remarque qu'il m'est impossible de changer quoi que ce soit dans ce qu'affiche le sous-formulaire et je ne comprend pas pourquoi (propriétés du sous-formulaire - toutes - Verouillé : non)

  7. #7
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    je viens de regarder la requête c'est le même problème. Quelqu'un aurait une idée d'où ça pourrait venir?

  8. #8
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Citation Envoyé par Mr White
    je viens de regarder la requête c'est le même problème. Quelqu'un aurait une idée d'où ça pourrait venir?
    Ta requête interdit les mises à jour... surement à cause d'un group by ou bien de jointure interdisant la mise à jour

  9. #9
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    exacte, je viens de refaire une requête et il s'avère que lorsque je fais une opération REGROUPEMENT, Access interdit les modifications.
    Y aurait-il une solution pour passer outre?

  10. #10
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Ben oui, ne pas utiliser de regroupement ...

  11. #11
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    des fois je me dis que je suis un gros ....

  12. #12
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    bon, maintenant que c'est vu, je me tourne vers ma 2ème intérogation: comment écrire 1 (dans un champs prévu à acet effet) pour chaque ligne sélectionnée.

    Moi ce que je fais:
    1°) création d'une requête MAJ qui à pour caractéristiques:
    critère: Sélection=Oui
    MAJ: =1
    2°) lors de l'appui sur B_OK, on lance la requête précedente.

    Problème:
    ma requête ne marche pas. J'ai jamais eu de problème jusqu'à maintenant avec ce type de requête et là ... pfuu.. plus rien ne marche.
    Si je fais une requête sélection avec comme critère le champs Sélection = Oui, il trouve les enregistrements. Mais quand je demande d'écrire 1 dans le champs, Access ne fais rien.

    Auriez-vous une solution à me proposer?

    Mr White

  13. #13
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Si c'est un champ de type Oui/Non,

    Oui = True
    Non = False


    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE MATABLE SET MONCHAMP= TRUE WHERE MONCHAMP= FALSE

  14. #14
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Je n'ai sans doute pas assez bien décrit ce que je voulais faire.

    Si je ne me trompe pas, le code que tu viens de me donner permet de passer les cases à cocher vides de NON à OUI dans MATABLE .
    Cette étape est normalement bonne. En effet, la source de "CAMPAGNE_SousForm" est liée à la requête "CAMPAGNE_SelectionProspects" qui prend en compte le champs Selction de la table "PROSPECTS". De ce fait, lorsque je sélectionne une ligne dans mon sous-formulaire, elle est automatiquement passée en OUI dans la table "PROSPECTS".

    Maintenant que j'arrive à sélectionner des lignes dans ma table, je désire inscrire un n° ("1" par exemple) dans un autre champs ("Repère" par exemple) de la table "PROSPECTS".
    Pour cela, je fais une requête de MAJ qui ne marche pas. Elle trouve bien les lignes que j'ai sélectionné dans le sous-formulaire mais elle refuse d'écrire "1" dans le champs "Repère".

    J'espère être plus clair...

    Mr White

  15. #15
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Si je ne me trompe pas, le code que tu viens de me donner permet de passer les cases à cocher vides de NON à OUI dans MATABLE .
    Tout à fait. Mais n'ayant pas réellement saisi où tu bloquais, je voulais au moins poster un truc interressant


    Bizarre que ta requête ne fonctionne pas

    Montre voir le code SQL

  16. #16
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    Montre voir le code SQL
    Où que c'est qu'on le trouve??

    Mr White

  17. #17
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    ça y est j'ai trouvé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE Prospects SET Prospects.[N° de Campagne] = "1"
    WHERE (((Prospects.Selection)=Yes));
    Dans cette version:
    N° de Campagne=Repère

    Mr White

  18. #18
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    Je mettrais plutôt ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (((Prospects.Selection)=True));
    car -1 = true = case cochée

  19. #19
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 111
    Points : 53
    Points
    53
    Par défaut
    toujours pas de réultat. Voici donc un certain nombre de questions que je me pose.

    1°) Est-ce qu'il est possible de faire une requête de MAJ avec comme critère un champs de type OUI/NON comme critère?
    2°) Si oui, est-ce qu'il faut faire quelque chose de particulier pour que ça marche?
    3°) J'ai essayé avec comme critère un autre champs de la table qui n'est pas du type OUI/NON. En faisant cela et en mettant par exemple =A dans critère, la requête sélection marche (Access trouve la ligne) mais pas la requête MAJ qui affiche une cellule vide. Quid?
    4°) Est-il possible que ma version d'Access m'en veuille personnellement et se débrouille pour me rendre marteau??

    Mr White

  20. #20
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    J'espère que c'est pas ta version d'access qui t'en veux...
    parce que j'ai testé chez moi et ça marche...
    je te donne le SQL pour preuve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE [Données annuelles] SET [Données annuelles].Date_appel_BP = Now()
    WHERE ((([Données annuelles].Appel_BP)=True));
    ça doit bugger ailleurs mais où...
    As tu essayé de recréer complètement ta requête ???
    Access m'a parfois rendu chèvre sur une requête qui a été trop souvent tournée et retournée... (va savoir pourquoi..)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2010] Utilisation de case à cocher dans un fonction vb
    Par bru.antoine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/10/2012, 15h39
  2. Réponses: 3
    Dernier message: 08/09/2011, 18h14
  3. case à cocher dans un sous formulaire
    Par nomade333 dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/09/2009, 14h30
  4. Case à cocher dans sous formulaire
    Par LyLy_91 dans le forum IHM
    Réponses: 6
    Dernier message: 09/07/2008, 15h25
  5. case à cocher dans sous formulaire
    Par Syrrus dans le forum IHM
    Réponses: 2
    Dernier message: 31/10/2007, 11h27

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