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 :

Zone de liste pour contrôle d'état


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Zone de liste pour contrôle d'état
    Bonjour

    Voici mon problème :

    Nous voulons executer des contrôles simple mais de façon répété sur une base de donnée SIG.

    J'ai créé un ensemble de requêtes access sur cette base que j'ai regroupé dans un formulaire pour utilisateur. Chaque resultat de requête s'ouvre sous la forme d'un état.

    Chaque utilisateur de ce formulaire travaillant sur un ensemble de commune, il ne souhaite voir que les corrections le concernant.
    J'ai donc mis en entrée de formulaire une zone de liste multi selectionnable.

    Je voudrais que chaque resultat d'état (donc des requêtes associées) soit basé sur la selection des commune de la zone de liste.

    Comment faire ?

    Merci pour votre aide.

    Anne Sophie

  2. #2
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 8
    Points
    8
    Par défaut suite
    J'ai trouvé ce code sur le net, mais apparement, je ne dois pas savoir l'adapter à mon projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Condition As String
                Dim Ctr As Integer
                Dim AuMoinsUn As Boolean
                    AuMoinsUn = False
                    Condition = "Commune In("
                For Ctr = 0 To Me![Choix_commune].ListCount - 1
                    If Me![Choix_commune].Selected(Ctr) Then
                        AuMoinsUn = True
                        Condition = Condition & "'" & Me![Choix_commune].Nom(0, Ctr) & "',"
                    End If
                Next Ctr
                Condition = Left(Condition, Len(Condition) - 1) & ")"
     
                DoCmd.OpenReport "E_diam_T", , , Condition
    Pour tout vous dire :

    - Le formulaire = erreur_T
    - La requête dont sont issus les données de la zone de liste = R_commune_nom
    - La zone de liste = Choix_commune
    - L'état à afficher : E_diam_T
    - La requête alimentant l'état = R_diam_T

    Merci pour votre aide

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    1) pense a mettre les balises de code "#" quand tu fais référence à du code dans tes posts. sinon le moderateur va être obligé de le faire.


    2) dans ta requête, dans le champ qui correspond à ton critère de sélection, sur la ligne "Critères:" clic droit --> créer, cela t'ouvre le générateur d'expression, va rechercher le contrôle de ton formulaire.
    cela devrait te donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![NomDeTonFormulaire]![TaListeDéroulante]
    .

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    @ Le Vieux

    pense a mettre les balises de code "#" quand tu fais référence à du code dans tes posts. sinon le moderateur va être obligé de le faire
    Merci pour ton soutien

    @ sousleau12

    Pour mettre les balises de code : Tu sélectionnes le code correspondant puis tu cliques sur le bouton "#".

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Suite
    Alors

    Merci pour la piste

    Problème :

    J'ai effectivement ajouté le critère dans la requête.

    Si je choisis une commune dans ma zone de liste du formulaire et que j'execute ma requête, pas de soucis, elle fonctionne. La relation se fait bien.

    Par contre, si je choisis de l'executer dans le formulaire par le bouton commande (en selectionnant la requête à executer par mon groupe d'option, j'ai une fenêtre qui s'ouvre et dans laquelle je dois taper le nom de la commune.

    Comment faire pour qu'il reconnaisse directement la selection de la zone de liste, et que je n'ai plus la fenêtre qui s'ouvre ?

    Merci pour veotre réponse

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 8
    Points
    8
    Par défaut SUITE
    Re bonjour

    J'arrive maintenant à ouvrir mon état avec la selection dans la zone de liste.

    Pour le moment, cela fonctionne si je choisis "aucun" dans la propriété selection multiple. Donc lorsque je choisis une seule commune dans ma liste.

    Comment faire pour que cela fonctionne avec plusieurs communes seléctionnées ?

    C'est à dire si je choisis "etendu" dans les propriété ?

    Merci d'avance

    Anne Sophie

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Bonsoir,
    Avec une liste a choix multiple c’est tout autre chose : il faut passer par du code pour filtrer ta requête.
    Soit code à mettre exemple sur ton bouton qui déclenche ta sélection :
    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
    Function recupVal()
    Dim VarI As Variant
    Dim monFiltre As String
    If Form_TonFormulaire!TaListe.ItemsSelected.Count > 0 Then
    For Each VarI In Form_TonFormulaire!TaListe.ItemsSelected
    'Si le champ est Numerique
    monFiltre = monFiltre & Form_ TonFormulaire!TaListe.Column(0, VarI) & ","
    'Si c 'est alpha
    'monFiltre = monFiltre & Chr(34) & Form_ TonFormulaire!TaListe.Column(0, VarI) & Chr(34) & ","
    Next VarI
    monFiltre = Left(monFiltre, Len(monFiltre) - 1)
    CurrentDb.QueryDefs("TaRequête").SQL = "SELECT TaTable.TesChamps,., .,. , FROM TaTable
    where TonChampFiltre  In (" & monFiltre & ");"
    End If
    End Function

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/08/2006, 01h51
  2. zone de liste pour afficher
    Par issam16 dans le forum Access
    Réponses: 9
    Dernier message: 22/06/2006, 15h15
  3. Cliquer sur zone de liste pour valider la valeur
    Par gwendk dans le forum Access
    Réponses: 7
    Dernier message: 15/05/2006, 15h13
  4. clic sur zone de liste pour validation
    Par ormoy28 dans le forum Access
    Réponses: 7
    Dernier message: 11/05/2006, 11h03
  5. Réponses: 4
    Dernier message: 31/10/2005, 18h37

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