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 :

case à cocher d'une table <> de la table du formulaire


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Points
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Par défaut case à cocher d'une table <> de la table du formulaire
    Hello...

    Alors voila, j'ai un formulaire qui contient les infos de la table 'adherent' (nom prenom adresse tel etc...) que l'on peut parcourir, trier, etc...

    J'aimerais ajouter une case a cocher dans ce formulaire afin de voir directement s'il est à jour de sa cotisation... (uniquement visualisation)

    Je peux faire une requete (table 'cotisation' champ 'a_jour') mais comment lier le resultat à la case à cocher du formulaire ?



    Merci...

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Points
    42 925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Par défaut
    Si j'ai bien compris.

    Tu dois faire une requête avec une colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    CaseCoch : IIF([Coti_Payée] is null;0;1)
    Tu base ton formulaire sur la requête.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Points
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Par défaut
    Merci pour ces infos...

    Voila ce que j'ai fait :
    une requete :
    SELECT a_jour
    FROM Cotis
    WHERE Cotis.num like formulaires![adherent]!num and Cotis.annee like Year(Date());
    Cette requete transmet en resultat une case a cocher qui est cochée ou non suivant la personne...
    Jusque là pas de probleme...

    Ensuite pour lier cette requete à la case à cocher de mon formulaire j'ai essayé comme ceci dans le Source Controle de la case à cocher :
    1.
    =VraiFaux([cotis_a_jour] Est Null;0;1)
    ou
    2.
    =[cotis_a_jour]![a_jour]
    Dans les 2 cas j'obtient une case grisée dans mon formulaire...


    Merci à ceux qu ise pencheront sur mon probleme...

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Points
    32 311
    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
    Par défaut
    Imaginons que la table cotisation se compose ainsi :

    Numadherent, annee, ...

    Dans un module tu places :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Function IsCotisation(intAdherent As Integer)
    Dim oRst As DAO.Recordset
    Set oRst = CurrentDb.OpenRecordset _
      ("select * from cotisation where numadherent=" & intAdherent & _
       " AND Annee=" & Year(Date))
    IsCotisation = Not oRst.EOF
    oRst.Close
    End Function
    Enfin, dans ton formulaire, si le numéro de l'adhérent est inscrit dans une zone de texte nommé txtadherent, la source de la case à cocher sera

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IsCotisation([txtadherent])
    Bon courage

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Points
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Par défaut
    Merci beaucoup ca marche...

    Cependant j'avais un probleme pour l'affichage, il ne faisait pas la difference entre ceux etant à jour et les autres, alors j'ai fait comme ça dans la fonction:
    Public Function IsCotisation(intAdherent As Integer)
    Dim oRst As DAO.Recordset
    Set oRst = CurrentDb.OpenRecordset("select Cotis.a_jour from Cotis where Cotis.num=" & intAdherent & " AND annee=" & Year(Date))
    If oRst.EOF = True Then
    IsCotisation = False
    Else
    If oRst.Fields("a_jour").Value = False Then
    IsCotisation = False
    Else
    IsCotisation = True
    End If
    End If
    oRst.Close
    End Function

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/12/2008, 08h28
  2. Requête pour case à cocher d'une table.
    Par Milyshyn76 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/11/2007, 13h06
  3. Couleur de fond de la case à cocher d'une TCheckBox ?
    Par Frank38 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 03/02/2006, 10h23
  4. Problèmes avec des cases à cocher et une liste déroulante
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 11h52
  5. Case à cocher dans une requête
    Par kloss dans le forum Access
    Réponses: 6
    Dernier message: 14/10/2004, 12h44

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