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 :

Impression d'un état en fonction des résultats d'une zone de liste


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Impression d'un état en fonction des résultats d'une zone de liste
    Bonjour,
    Comment peux-t-on imprimer un état, avec comme variables, une sélection multiple d'une zone de liste ? J'arrive sans problème à l'imprimer en fonction d'une liste modifiable, mais un choix à la fois.
    J'ai parcouru attentivement la FAQ, et malheureusement les solutions proposées ne fonctionnent pas ... ou je ne sais pas les adapter
    Si quelqu'un à la solution...

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 548
    Points
    24 548
    Par défaut
    Bonjour,

    La technique dépend de ce qu'il y a dans cette zone liste.

    Si ce sont des données d'une table, il faut travailler avec une valeur unique genre ID de cette table, identifier chacun d'eux avec le itemselected, les ranger dans une variable texte en les séparant par une virgule.

    Tu devrais obtenir quelques choses comme ça

    Lorsque tu as ça tu l'utilise avec l'operateur SQL In directement dans la clause Where de la commande Docmd.openform

    Cordialement,

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Bonsoir,

    Si Je suppose que ta liste multiselect "TaListe" contient en fait une liste d'identifiants, tu peux faire comme indiqué plus haut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim str As String
    Dim i As Integer
     
    str = ""
     
    For i = 0 To TaListe.ItemsSelected.Count - 1
    str = str & TaListe.ItemData(TaListe.ItemsSelected.Item(i)) & ","
    Next i
     
    str = Left(str, Len(str) - 1) ' ote le dernier caractère
     
    DoCmd.OpenReport "TonEtat", , , "[Identifiant] in (" & str & ")"

    @+

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Impression d'un état en fonction des résultats d'une zone de liste
    Bonjour,

    J'ai suivi vos conseils et ajouter le code ci dessous, adapté à mes données :

    _____________________________________

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim str As String
    Dim i As Integer
     
    str = ""
     
    For i = 0 To Me.L_Fournisseur.ItemsSelected.Count - 1
    str = str & Me.L_Fournisseur.ItemData(Me.L_Fournisseur.ItemsSelected.Item(i)) & ","
    
    Next i
     
    str = Left(str, Len(str) - 1) ' ote le dernier caractère
     
    DoCmd.OpenReport "ETAT RELANCE", acViewPreview, , "T_PV.[Rep_Code FRS]in (" & str & ")"
    ________________________________________________


    La valeur de str contient bien ce que j'ai selectionné dans la zone de liste, mais j'ai une erreur de syntaxe :
    Opérateur absent dans l'expression ''(T_PV.[Rep_Code FRS] in (6900A,713A,7884V))'


    J'ai probablement oublié quelque chose, mais je ne vois pas quoi.

    L'ETAT RELANCE, s'appuie sur le requete suivante (le début):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT T_PV.Echantillon, T_PV.[Rep_Code FRS], T_PV.T_Fournisseur_NomFournisseur, T_PV.[Nom appel d'offre], ...

    Merci pour votre aide.

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 548
    Points
    24 548
    Par défaut
    Bonjour,

    Immédiatement je dirais un espace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "T_PV.[Rep_Code FRS]in ("
    SQLc'estcommelefrançais,sansespacesçaneveutriendire.

    Et pour les valeurs de l'opérateur In, lorsqu'elles sont alphanumérique il ne faut pas oublier le séparateur. F1

    Cordialement,

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Ca fonctionne !!!!

    J'ai corrigé les erreurs :
    * l'espace
    * et au lieu d'une chaine alphanumérique , j'ai utilisé un identifiant numérique.

    J'ai contourné le problème car je ne sais pas adapter le code en alphanumérique :-(

    Encore merci pour votre aide.

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    pense au tag résolu, pour ceux qui t'ont aidé

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

Discussions similaires

  1. [AC-2003] Résultat d'une zone de liste vers un état
    Par Gonteur dans le forum VBA Access
    Réponses: 6
    Dernier message: 16/02/2012, 17h27
  2. [Toutes versions] Créer un état mis en forme en fonction des résultats d'une requête
    Par Rodrigue dans le forum IHM
    Réponses: 1
    Dernier message: 19/11/2010, 09h07
  3. [AC-2003] Ouverture d'un état en fonction des données d'une listebox
    Par vlksoft dans le forum IHM
    Réponses: 5
    Dernier message: 15/12/2009, 14h01
  4. Réponses: 1
    Dernier message: 17/06/2007, 10h10
  5. Réponses: 8
    Dernier message: 26/09/2006, 15h37

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