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 :

Double clic sur zone liste


Sujet :

IHM

  1. #1
    Provisoirement toléré
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 50
    Points
    50
    Par défaut Double clic sur zone liste
    Bonjour à tous,

    je me tourne une nouvelle fois vers vous dans l'espoir de solutionner mon problème.
    Voila, j'ai créé un formulaire dans lequel j'ai intégré une liste nommée "Liste45" qui m'affiche l'ensemble de mes N° de factures dans la colonne 0 et la date de création dans la colonne 1. Pour ce faire j'ai donc créé une requête et tout fonctionne jusqu'ici.

    A cette liste j'ai integré le code suivant afin d'ouvrir sur double clic d'une ligne de la liste, un autre formulaire nommé "Approbation NC" et dans lequel je souhaite que la valeur de la colonne 0 s'affiche dans le champ "Texte143" du formulaire "Approbation NC" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Liste45_DblClick(Cancel As Integer)
    Dim stDocName, Strcriteria As String
        Dim I As Integer
        StrIn = ""
        For I = 0 To Me.Liste45.ListCount - 1
                If Liste45.Selected(I) Then
                    Strcriteria = Me.Liste45.Column(0, I)
                End If
        Next
        stDocName = "Approbation NC"
        DoCmd.OpenForm stDocName, , , "[Texte143]" = " & Strcriteria"
    End Sub
    Lorsque je double clic sur une ligne de la liste, le formulaire ''Approbation NC" s'ouvre, mais la valeur de la colonne 0 correspondant à la ligne sélectionnée ne s'affiche pas dans le champs "Texte143".

    Sauriez vous me dire comment remédier à cela, et me dire comment et où l'intégrer dans mon code.

    Merci de votre aide

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonsoir,

    Attention à ne pas confondre les notions. La condition Where que tu utilises à l'ouverture de ton formulaire fait référence à la source de ce dernier. La syntaxe correspond à celle d'une clause WHERE appliquée à cette source.

    Mais dans ton code, tu fais références à une zone de texte et non à un champ de la source de ton formulaire...

    En passant, il est vivement conseillé de nommer explicitement tout objet référencé dans le code ...

    Par ailleurs la syntaxe n'est pas bonne:
    "[Texte143]" = " & Strcriteria" représente une comparaison des 2 chaines de texte "[Texte143]" et " & Strcriteria" ... tu demandes en fait si ces deux chaines sont égales ...et la valeur est donc false

    Il aurait fallu écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[Texte143] = " & Strcriteria
    ou plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[Texte143]" = '" & Strcriteria & "'"
    (car il s'agit d'une valeur de type texte)

    Si ton but est de filtrer le formulaire ouvert en affichant l'enregistrement dont le champ affiché dans la zone texte143, il faudrait remplacer texte143 par le nom du champ source qu'il affiche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[MonChamp]" = '" & Strcriteria & "'"
    Enfin si ton contrôle est indépendant, tu ne peux pas utiliser la condition Where... tu peux par contre passer par l'argument OpenArg...

  3. #3
    Provisoirement toléré
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 50
    Points
    50
    Par défaut Double clic sur zone liste
    bonjour,

    merci de votre réponse.

    J'ai essayé avec vos propositions mais cela ne fonctionne pas. Je dois avouer que je suis loin d'être un expert en access et vba.
    Pourriez vous me compléter le code que j'utilise afin que celui-ci réponde à mes attentes ou bien me proposer quelque chose d'autre.
    Pour mémoire, j'ai une zone liste nommée "Liste45" et je souhaite que lorsque je double clic sur une ligne de la liste, un formulaire nommé "Approbation NC" s'ouvre et que la valeur de la colonne 0 de la ligne double cliquée s'affiche dans le champ "Texte143" du formulaire qui s'est ouvert. L'ouverture du formulaire s'effectue correctement au double clic mais la valeur ne se colle pas dans le champ "Texte143".

    D'avance merci de votre aide

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

Discussions similaires

  1. Utiliser le double clic sur une liste dans HTA
    Par papyxy dans le forum VBScript
    Réponses: 3
    Dernier message: 06/07/2014, 09h14
  2. [AC-2003] Affecter une valeur par double-clic sur une zone de liste
    Par schamax dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/02/2014, 12h33
  3. Réponses: 1
    Dernier message: 08/09/2009, 04h15
  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: 09/02/2006, 21h26

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