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 :

ouverture sous formulaire sur double clic


Sujet :

Access

  1. #1
    Pau
    Pau est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut ouverture sous formulaire sur double clic
    Bonjour,

    Je tente de faire ouvrir un sous formulaire lorsque je clique sur une ligne de réponse de mon premier formulaire mais « impossible de trouver la méthode ou la donnée membre », Je suppose que c’est à cause du Me.lst_Resultat.
    Si je mets seulement lst_Resultat, il m’ouvre bien mon sous-formulaire mais non remplit, et si je rajoute le Me., alors j’ai ce message d’erreur.
    Je ne trouve pas l’explication…
    Merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Private Sub lst_Resultat_DblClick(Cancel As Integer)
        DoCmd.OpenForm "Formulario5", acDesign, , "[Codigo] = " & Me.lsl_Resultat
    End Sub
      0  0

  2. #2
    Membre actif Avatar de moicats
    Inscrit en
    Mars 2006
    Messages
    299
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 299
    Points : 200
    Points
    200
    Par défaut
    salut,

    essaye peu etre de mettre ton equation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[Codigo] = " & Me.lsl_Resultat
    dans une variable, et d'utiliser cette variable pour l'openform

    bon courrage
    a+
      0  0

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Points : 169
    Points
    169
    Par défaut
    Et si tu ajoutes Me.lsl_Resultat.Value? C'est peut-être un problème avec la propriété par défaut.
    N'oubliez pas le tag . En haut: Outils de la discussion -> Résolu.
      0  0

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 30
    Points : 34
    Points
    34
    Par défaut
    lsl_Resultat est bien le nom d'un contrôle?
    met plutôt Me!lsl_Resultat

    alain
      0  0

  5. #5
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut,
    ton contrôle s'appelle lsl_Resultat ou lst_Resultat?
    ou ce sont 2 contrôles différents?
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO
      0  0

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par Faw
    Salut,
    ton contrôle s'appelle lsl_Resultat ou lst_Resultat?
    ou ce sont 2 contrôles différents?
    Arf oui! Tu écris lst_ dans ton message et lsl dans ton code.

    Tu as bien Option Explicit en haut de ton module? Si le problème est les noms de variable, ça préviendrait le problème pour l'avenir.
    N'oubliez pas le tag . En haut: Outils de la discussion -> Résolu.
      0  0

  7. #7
    Pau
    Pau est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    Merci pour votre aide, effectivement, il y avait ce problème du nom de contrôle...
    J'ai failli croire que ça allait marcher mais non, je n'ai plus le message d'erreur mais il ne m'affiche toujours pas les données correspondantes aux champs dans le sous-formulaire... (j'ai essyé tout ce qu'il m'a été proposé dans les réponses à mon problème)
      0  0

  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 : 40
    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
    Le champ codigo est de quel type ?
      0  0

  9. #9
    Pau
    Pau est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    champ codigo est de type texte ...
      0  0

  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 : 40
    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
    Dans ce cas, ça sera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "[Codigo] = " & Chr(34) & Me.lst_Resultat & Chr(34)
      0  0

  11. #11
    Pau
    Pau est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    Je n'ai toujours pas de données qui s'affichent.
      0  0

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Points : 169
    Points
    169
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Formulario5", acDesign, , "[Codigo] = " & Me.lst_Resultat
    Tu ouvres ton formulaire en Design??
    Et quand tu ouvres Formulario5 directement, tu as bien autant d'enregistrement que ce qui se retrouve dans lst_Resultat? Et surtout, lst_Resultat se trouve bien dans le recordset non filtré?
    N'oubliez pas le tag . En haut: Outils de la discussion -> Résolu.
      0  0

  13. #13
    Pau
    Pau est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    tu peux m'expliquer cette question : "Et surtout, lst_Resultat se trouve bien dans le recordset non filtré?", désolée, je débute ...
      0  0

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par Pau
    tu peux m'expliquer cette question : "Et surtout, lst_Resultat se trouve bien dans le recordset non filtré?", désolée, je débute ...
    Un filtre est un sous-jeu d'enregistrement. En créant ton formulaire, tu as spécifié une source. Ce que tu fais avec l'argument [Codigo]=... de DoCmd, c'est restreindre les données de cette source.

    Il y a deux méthodes qui donnent presque le même résultat : le filtre et la clause Where. Si tu consultes l'aide de DoCmd.OpenForm, tu verras que tu as les deux choix. Ici, j'ai écrit "filtre" mais à voir ta ligne DoCmd, tu utilises plutôt le paramètre de la clause WHERE (erreur de ma part).

    DoCmd.OpenForm "Formulario5",, FILTRE ICI, CLAUSE WHERE ICI "[Codigo] = " & Me.lst_Resultat

    Si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DoCmd.OpenForm "Formulario5"
    qu'obtiens-tu? Combien y a-t-il d'enregistrements?

    Si, en utilisant les boutons de déplacement du formulaire, tu n'arrives pas à voir l'enregistrement que tu aurais voulu ouvrir, c'est normal que tu obtiennes un formulaire vide en précisant tes critères d'ouverture.

    Parce que tu "filtres" (ou "restreint", le terme convient mieux quand on parle de clause WHERE) le nombre d'enregistrements que tu as initialement alors qu'initialement, rien ne correspond à Me.lst_Resultat.
    N'oubliez pas le tag . En haut: Outils de la discussion -> Résolu.
      0  0

  15. #15
    Pau
    Pau est déconnecté
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    Merci pour ta réponse,
    Voilà le début de mon code, j’affecte bien la requête sql à me.lst_Resultat, qu’est ce que je dois changer pour avoir l’enregistrement correspondant au double clic ?
    Pauline



    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Private Sub Btn_Recherche_Click()
    Dim strTable As String, strField As String, strCriteria As String, strSql As String, strSqlWhere As String
    Dim Criter As Variant
    Dim intTypChamp As Integer
    Dim intOpeChamp As Integer
     
     
    strTable = Me.cbo_Table   'recup nom table
    strField = Me.cbo_Champ   'recup nom champ
     
    'compose critere de recherche
    intTypChamp = lf_GetTypeField(strTable, strField)   'pour trouver type champs
    intOpeChamp = Me.opt_Recherche
     
    …
     
     
    …
    'construit la requete sql
    strSql = "SELECT DISTINCTROW " & strTable & ".*"
    strSql = strSql + " FROM " & strTable
    strSql = strSql + " WHERE ((" & strCriteria & "))"
    strSqlWhere = Trim(Right(strSql, Len(strSql) - InStr(strSql, "Where ") - Len("Where ") + 1))
    strSql = strSql & ";"
    End If
     
     
    Me.lbl_Stats.Caption = DCount("*", strTable, strSqlWhere) & " / " & DCount("*", strTable)
    Me.lst_Resultat.RowSource = strSql 'affecte sql a lst_Resultat
    Me.lst_Resultat.Requery     'recalcule la liste
     
     
    Me.txt_ChineSQL.Value = strSql  'affiche code
     
    End Sub
      0  0

Discussions similaires

  1. [AC-2010] Macro "Ouvrir formulaire where" sur double-clic dans un sous-formulaire
    Par Beaver dans le forum Macros Access
    Réponses: 3
    Dernier message: 21/04/2015, 11h07
  2. Réponses: 2
    Dernier message: 14/03/2012, 13h32
  3. Insérer une valeur dans un sous formulaire par double clic
    Par Shifty62 dans le forum VBA Access
    Réponses: 9
    Dernier message: 26/01/2009, 18h11
  4. Réponses: 17
    Dernier message: 05/09/2007, 16h24
  5. Réponses: 3
    Dernier message: 04/10/2005, 15h39

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