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 :

Débutant: Ouvrir formulaire après dble clic sur le résultat d'une liste de zone


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut Débutant: Ouvrir formulaire après dble clic sur le résultat d'une liste de zone
    Bonjour,

    Je me suis basé sur le tuto de Caféine pour réalisé un formulaire de recherche multi critères et ça marche nikel maintenant.

    Je souhaite maintenant y apporter quelques modifs et c'est là que les problèmes commences lol

    Dans ce formulaire recherche je peux rechercher des entreprises en fonction de 5 critères. Dans ma liste de résultat quand je double clic sur un des résultats alors mon formulaire principal s'ouvre avec la fiche de l'entreprise et qu'avec celle ci. Si je souhaite regarder les autres je ne peux pas. Seul la fiche de l'entreprise sélectionné s'ouvre.

    Comment puis je changer cela sachant que mon code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub lstResults_DblClick(Cancel As Integer)
     
    DoCmd.OpenForm "Principal", acNormal, , "[Company] = '" & Me.lstResults & "'"
     
    End Sub
    Merci de votre aide,

    Jocelyn

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 345
    Points : 23 805
    Points
    23 805
    Par défaut
    C'est tu as un critère qui demande une seule fiche :

    DoCmd.OpenForm "Principal", acNormal, , "[Company] = '" & Me.lstResults & "'"

    Il suffit de modifier ton critère et tu pourra avoir plusieurs enrs affichés.

    un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "[Champ1]=" & critere1 & " AND [Champ2]=" & critere2
    eidement si critere1 et 2 sont des chaines il faut mettre des guillemets autours.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Mon souci c'est que je veux ouvrir tous mes enregistrements mais voir celui sur lequel je double clic en premier.

    Je ne vois pas comment faire.

    Jocelyn

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 335
    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 335
    Points : 19 573
    Points
    19 573
    Billets dans le blog
    65
    Par défaut
    Slt,

    si j'ai bien compris ta demande:

    sur double clique tu passe le critère en argument openArg de la méthode OpenForm (dernier argument de la méthode Openform)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub lstResults_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Principal", acNormal, , , , , "[Company] = '" & Me.lstResults & "'"
     
    End sub

    et sur Open de ton form "Principal":

    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
    Private Sub Form_Open(Cancel As Integer)
    Dim rs As Recordset
     
    If Nz(Me.OpenArgs, "") <> "" Then 'Si un critère a été passé
    Set rs = Me.RecordsetClone
    With rs
      .FindFirst Me.OpenArgs 'On cherche le premier record correspondant au critère
      If Not .NoMatch Then 'Si un enregistrement a été trouvé
        Me.Bookmark = .Bookmark
      End If
    End With
    Set rs = Nothing
    End If
     
    End Sub
    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Salut User,

    Je n'arrive pas avec ta méthode à faire fonctionner l'application.
    J'ai des erreurs du type

    "Membre de méthode ou de données introuvable" sur .FindFirst et .NoMatch

    Je suis perdu,

    Jocelyn

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 335
    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 335
    Points : 19 573
    Points
    19 573
    Billets dans le blog
    65
    Par défaut
    Rien de grave,

    dans le module du formulaire tu fais Outils->référence-> et tu coches Microsoft DAO


    et après:

    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
    Private Sub Form_Open(Cancel As Integer)
    Dim rs As DAO.Recordset
     
    If Nz(Me.OpenArgs, "") <> "" Then 'Si un critère a été passé
    Set rs = Me.RecordsetClone
     
      rs.FindFirst Me.OpenArgs 'On cherche le premier record correspondant au critère
      If Not rs.NoMatch Then 'Si un enregistrement a été trouvé
        Me.Bookmark = rs.Bookmark
      End If
     
    Set rs = Nothing
    End If
     
    End Sub

    J'ai viré le with pour plus de lisibilité..

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Cela fonctionne à 90%, respect user.

    Mon souci maintenant c'est que l'appli ne fonctionne pas dans un cas.
    Au début mon formulaire sur lequels toutes les entreprises sont enregitrées s'ouvre (1 fiche par entreprise). Je veux donc faire une recherche et je clic donc sur mon bouton "recherche" qui m'ouvre mon formulaire de recherche multi critères. Sur ce formulaire apparait toute les entreprises dans la zone de liste de résultat de recherche car aucun critère n'est activé (ce qui est normal) or c'est ici que j'ai un souci car si je sélectionne une entreprise sans avoir effectué de recherche au préalable alors mon formulaire de principal (fiches des entreprises) s'ouvrira avec pour première fiche (celle ouverte à l'écran) le nom de la première société dans ma zone de liste et non pas celle sur laquelle j'ai cliqué.

    Tu as une idée user?

    Et merci encore pour ton aide

    Jocelyn

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 335
    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 335
    Points : 19 573
    Points
    19 573
    Billets dans le blog
    65
    Par défaut
    Pour le cas ou le form s'ouvre sur la 1ère entreprise,
    c'est peux être que le critère:

    "[Company] = '" & Me.lstResults & "'"

    n'est pas bon, donc il reste sur le 1er enrg..

    As tu essayé de faire un

    debug.print "[Company] = '" & Me.lstResults & "'"

    Pour ce cas précis ...

    Pour voir la valeur de Me.lstResults

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Après avoir fait un debug print je m'aperçois ke tout est ok. Ce ke je veux dire c'est que quand je clic sur une société j'ai bien Company = la société que j'ai sélectionné.

    C'est vraiment bizarre.

    En faite j'ai remarqué que cela fonctionnait que quand je fermais la fenêtre du formulaire principal avant de cliquer sur mon choix dans le formulaire de recherche. Mon problème vient peut être de mon code du bouton recherche?
    C'est celui ci:
    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
    Private Sub Commande910_Click()
    On Error GoTo Err_Commande910_Click
     
        Dim stDocName As String
        Dim stLinkCriteria As String
     
        stDocName = "Search"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
     
    Exit_Commande910_Click:
        Exit Sub
     
    Err_Commande910_Click:
        MsgBox Err.Description
        Resume Exit_Commande910_Click
     
    End Sub
    Cordialement,

    Jocelyn

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    J'ai mis le code suivant pour que cela fonctionne:
    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
     
    Private Sub Commande910_Click()
    On Error GoTo Err_Commande910_Click
     
        Dim stDocName As String
        Dim stLinkCriteria As String
        Dim stDocName2 As String
     
        stDocName2 = "Close"
        stDocName = "Search"
        DoCmd.RunMacro stDocName2
        DoCmd.OpenForm stDocName, , , stLinkCriteria
     
    Exit_Commande910_Click:
        Exit Sub
     
    Err_Commande910_Click:
        MsgBox Err.Description
        Resume Exit_Commande910_Click
     
    End Sub
    Je ne comprends pas pourquoi je suis obligé de fermer mon formulaire principale pour ne plus avoir de problème lorsque je double clic sur un des résultats présent dans ma liste de zone résultat.

    Ma question est donc y a t-il un autre moyen de palier à ce problème?

    Jocelyn

  11. #11
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 335
    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 335
    Points : 19 573
    Points
    19 573
    Billets dans le blog
    65
    Par défaut
    Slt,

    Tu as essayé de fermer ton formulaire avant de l'ouvrir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub lstResults_DblClick(Cancel As Integer)
    DoCmd.Close acForm, "Principal"
    DoCmd.OpenForm "Principal", acNormal, , , , , "[Company] = '" & Me.lstResults & "'"
     
    End sub

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    En effet cela fonctionne. Ta façon de procédé me permet de garder mon formulaire principal ouvert en fond.

    Thanks a lot

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

Discussions similaires

  1. Evénement clic sur un élément d'une liste
    Par maxusn dans le forum jQuery
    Réponses: 2
    Dernier message: 26/11/2012, 16h08
  2. Réponses: 2
    Dernier message: 14/03/2012, 13h32
  3. [AC-2007] cafeine : Ouvrir formulaire après double clics
    Par adel53 dans le forum IHM
    Réponses: 3
    Dernier message: 07/02/2012, 11h40
  4. Réponses: 0
    Dernier message: 28/09/2011, 17h32
  5. Réponses: 17
    Dernier message: 05/09/2007, 16h24

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