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

Requêtes et SQL. Discussion :

Treeview ouvrir un sous-formulaire sur clic


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 65
    Points
    65
    Par défaut Treeview ouvrir un sous-formulaire sur clic
    Bonjour,

    J'ai un Treeview de 4 niveaux. Je souhaiterais ouvrir un sous-formulaire lorsque je clique unqiement sur le noeud du dernier niveau qui contient ma clé.(les niveaux inférieurs (Arrière grand-père, grand-père et père) ne contenant pas ma clé permettant d'ouvrir le sous-formulaire)

    L'exemple ci-dessous que j'ai pu récupéré de la FAQ ouvre un formulaire à partir d'un clic sans préciser le niveau (si j'ai bien compris) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub TreeView0_NodeClick(ByVal Node As Object)
     
        Dim nodClient As Node
        If Node.Parent Is Nothing Then
            Set nodClient = Node
        Else
            Set nodClient = Node.Parent
        End If
        Me.RecordSource = "SELECT * FROM CLIENTS WHERE [Code Client]=" & Chr(34) & nodClient.Key & Chr(34)
     
    End Sub
    En Gros ce que je souhaite faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub TreeView0_NodeClick du niveau 4 (ByVal Node As Object)
    
        Dim nodClient As Node
        If Node.Parent Is Nothing Then
            Set nodClient = Node
        Else
            Set nodClient = Node.Parent
        End If
        Me.RecordSource = "SELECT * FROM CLIENTS WHERE [Code Client]=" & Chr(34) & nodClient.Key & Chr(34)
    
    End Sub
    merci de votre aide

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 65
    Points
    65
    Par défaut
    J'a avancé sur le sujet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Generation As Integer
        Dim nodClient As Node
        Dim MonCritere As String
    ChercheGeneration TrwMenu.SelectedItem, Generation
    If Generation = 4 Then
            Set nodClient = Node
            Forms![frm_Historique]![ssfrmHistoriqueListeAppellationDetail].Visible = True
            MonCritere = "SELECT rqy_Historique.NumCave, rqy_Historique.Appellation, rqy_Historique.Annee, rqy_Historique.Type, rqy_Historique.Domaine, rqy_Historique.ClimatEtInfo, Avg(rqy_Degustation.Note) AS MoyenneDeNote, rqy_Historique.NumVin, rqy_Historique.CompteDeNumCave, tbl_AppellationComplete!NumAppellationComplete & tbl_Cave!Annee & tbl_Cave!NumVin AS NumAppellationCompleteEtAnneeEtNumVin FROM rqy_Historique LEFT JOIN rqy_Degustation ON rqy_Historique.NumCave = rqy_Degustation.NumCave GROUP BY rqy_Historique.NumCave, rqy_Historique.Appellation, rqy_Historique.Annee, rqy_Historique.Type, rqy_Historique.Domaine, rqy_Historique.ClimatEtInfo, rqy_Historique.NumVin, rqy_Historique.CompteDeNumCave, tbl_AppellationComplete!NumAppellationComplete & tbl_Cave!Annee & tbl_Cave!NumVin HAVING (((tbl_AppellationComplete!NumAppellationComplete & tbl_Cave!Annee & tbl_Cave!NumVin)="
            Forms![frm_Historique]![ssfrmHistoriqueListeAppellationDetail].RecordSource = MonCritere2 & Chr(34) & nodClient.Key & Chr(34) & ");"
    Else
    End If
    End Sub
    Mais j'ai une erreur au moment de remplir le recordSource de mon sous-formulaire propriété ou méthode non gérée par cet objet???

    Merci de votre aide

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    C'est une erreur de syntaxe, je t'invite à lire cet article : http://loufab.developpez.com/appelformulaire/

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 65
    Points
    65
    Par défaut
    OK Merci, voici Mon code :

    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
    Private Sub ChercheGeneration(oNode As Node, intGeneration As Integer)
    If Not oNode.Parent Is Nothing Then
      intGeneration = intGeneration + 1
      'Appeler la procédure pour le parent
      ChercheGeneration oNode.Parent, intGeneration
    End If
    End Sub
     
    Private Sub TrwMenu_NodeClick(ByVal Node As Object)
     
    Dim Generation As Integer
        Dim nodClient As Node
        Dim MonCritere As String
        Dim Extract As String
        Dim MonNum As String
    ChercheGeneration TrwMenu.SelectedItem, Generation
    If Generation = 4 Then
        Set nodClient = Node
        Extract = nodClient.Key
        MonNum = Mid(Extract, 2)
        Forms![frm_Historique]![ssfrmHistoriqueListeAppellationDetail].Visible = True
        MonCritere = "SELECT rqy_Historique.NumCave, rqy_Historique.Appellation, rqy_Historique.Annee, rqy_Historique.Type, rqy_Historique.Domaine, rqy_Historique.ClimatEtInfo, Avg(rqy_Degustation.Note) AS MoyenneDeNote, rqy_Historique.NumVin, rqy_Historique.CompteDeNumCave, tbl_AppellationComplete!NumAppellationComplete & tbl_Cave!Annee & tbl_Cave!NumVin AS NumAppellationCompleteEtAnneeEtNumVin FROM rqy_Historique LEFT JOIN rqy_Degustation ON rqy_Historique.NumCave = rqy_Degustation.NumCave GROUP BY rqy_Historique.NumCave, rqy_Historique.Appellation, rqy_Historique.Annee, rqy_Historique.Type, rqy_Historique.Domaine, rqy_Historique.ClimatEtInfo, rqy_Historique.NumVin, rqy_Historique.CompteDeNumCave, tbl_AppellationComplete!NumAppellationComplete & tbl_Cave!Annee & tbl_Cave!NumVin HAVING ((tbl_AppellationComplete!NumAppellationComplete & tbl_Cave!Annee & tbl_Cave!NumVin)="
        Forms.frm_Historique.ssfrmHistoriqueListeAppellationDetail.Form.RecordSource = MonCritere & Chr(34) & MonNum & Chr(34) & ");"
    Else
        Forms![frm_Historique]![ssfrmHistoriqueListeAppellationDetail].Visible = False
    End If
    End Sub

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

Discussions similaires

  1. [AC-2010] filtrer sous formulaire suite clic sur donnée
    Par sebing dans le forum VBA Access
    Réponses: 7
    Dernier message: 20/10/2011, 12h21
  2. [AC-2003] Ouvrir sous formulaire sur enregistrement précis
    Par mercatog dans le forum IHM
    Réponses: 2
    Dernier message: 26/07/2009, 18h17
  3. Ouverture formulaire sur clic souris
    Par Michel DELAVAL dans le forum Access
    Réponses: 6
    Dernier message: 30/09/2006, 22h33
  4. ouverture sous formulaire sur double clic
    Par Pau dans le forum Access
    Réponses: 14
    Dernier message: 05/05/2006, 12h37
  5. Réponses: 2
    Dernier message: 03/02/2006, 16h12

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