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 :

Fitre sur Treeview


Sujet :

IHM

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Fitre sur Treeview
    Bonjour à tous,

    Je suis actuellement bloqué sur mon projet, sur la conception d'un filtre au chargement de mon treeview sur le numauto offre

    Mon treeview est base sur une requête, j'ai essayé de mettre le paramètre dans le critère mais ça me donne une erreur "[Formulaires]![F_Offre]![NumAuto Offre]"

    J'ai repris les codes sur ce site http://azlihassan.com/apps/articles/...eeview-control

    Mon chargement ce fait comme cela

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    Private Sub GroupTree_LoadALL()
     
        Dim nParent As Node, nChild As Node, nAbove As Node
        Dim db As DAO.Database
        Dim rstParent As DAO.Recordset
        Dim rstChild As DAO.Recordset
        Dim strSQL As String
        Dim i As Long
        Dim blnTblParentExsits As Boolean, blnTblChildExsits As Boolean
     
        On Error GoTo ErrMsg
     
        Me.GroupTree.Nodes.Clear
     
        With Me.GroupTree
            .LineStyle = 1  'Root lines
            .Style = 7      'TreelinesPlusMinusPictureText
            .Nodes.Clear    'Delete any existing nodes
        End With
     
        Set db = CurrentDb()
     
     
        'Loop through levels, except for last level since that will be filled as children of the second-to-last level
        For i = 1 To 2
            'Check if table/query exists
            blnTblParentExsits = IsTableQuery("", strNodeQuery & i)
            blnTblChildExsits = IsTableQuery("", strNodeQuery & i + 1)
     
            'Check if parent table exists
            If blnTblParentExsits Then
                Set rstParent = db.OpenRecordset(strNodeQuery & i, dbOpenDynaset)
                'Populate Parents
                Do While Not rstParent.EOF
     
                    'Add node (if it already exists, will throw up error number 35602)
                    If i = 1 Then
                        Set nParent = GroupTree.Nodes.Add(, , "'" & (rstParent.Fields("nodeID")), rstParent.Fields("nodeText"))
                        'Make top-level node visible
                        nParent.EnsureVisible
                    Else
                        Set nParent = GroupTree.Nodes("'" & rstParent.Fields("nodeID"))
                        'Debug.Print nParent.Index
                        'Debug.Print nParent.Key
                        'Debug.Print nParent.Text
                        'for i > 1, node will have a parent
                        'Set nAbove = GroupTree.Nodes("'" & (rstParent.Fields("nodeParentID")))
                        'Set nParent = GroupTree.Nodes.Add(nAbove, tvwChild, "'" & (rstParent.Fields("nodeID")), rstParent.Fields("nodeText"))
                        'NO NEED TO ADD, already added in previous For i =., only need to add children after i = 1
                    End If
     
     
                    'Check that that child table/query exists
                    If blnTblChildExsits Then
                        'Set then filter recordset
                        Set rstChild = db.OpenRecordset(strNodeQuery & i + 1, dbOpenDynaset)
                        rstChild.Filter = "nodeParentID = " & nParent.Key & "'"
                        Set rstChild = rstChild.OpenRecordset
     
                        'Check if there are child nodes
                        While Not rstChild.EOF
                            'Add child nodes
                            Set nChild = GroupTree.Nodes.Add(nParent, tvwChild, "'" & rstChild.Fields("nodeID"), rstChild.Fields("nodeText"))
                            'Debug.Print nChild.Index
                            'Debug.Print nChild.Key
                            rstChild.MoveNext
                        Wend
                    End If
     
                    'Next Parent
                    rstParent.MoveNext
                Loop
            Else
                MsgBox "The query '" & strNodeQuery & i & "' does not exist.", vbCritical, "GroupTree_LoadALL()"
                GoTo ExitHere:
            End If
        Next i
     
    ExitHere:
        Exit Sub
     
    ErrMsg:
        If Err.Number = 35602 Then
            'Duplicate node ID, which will happen
            Err.Clear
            Resume Next
        Else
            MsgBox "Error in GroupTree_LoadALL(); (" & Err.Number & " - " & Err.Description & ")", vbCritical
        End If
        GoTo ExitHere
     
    End Sub
    Si quelqu'un peut m'aider, j'en serai reconnaissant, merci d'avance

    Patrice

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Si ton champ [NumAuto Offre], comme son nom le dit, est un "AutoNumber" alors l'erreur est logique, car tu essaies de modifier (éditer) un champ qui est devenu par définition 'propriété' de Access. Si c'est le cas, tu peux t'en sortir en changeant les propriétés du champ: supprimer la clef primaire et transformer le champ en type "Number LONG". Incovénient, il faudra l'incrémenter à chaque nouvel enregistrement (Access le fait automatiquement pour un autoNumber). Ne pas oublier de remettre la clef primaire, si nécessaire.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Effectivement c'est bien un AutoNumber avec clé primaire, j'ai créer un nouveau champ "NumeroAutoOffre" entire long
    Cela fonctionne toujours pas dans le critère de la requête, au chargement du treeview il y à toujours l'erreur "trop peu de paramètre 1 attendu"

  4. #4
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut,
    Un début de solution ici probablement.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Salut

    Les explications sont intéressantes sur ce lien, par contre je n'ai pas le niveau pour modifier ma procédure.
    Quand je mets dans le critère de la requête a la place de "[Formulaires]![F_Offre]![NumAuto Offre]" le numéro 1 par exemple cela fonctionne, le filtre s'éffectue sans erreur

Discussions similaires

  1. [c#] Probleme d'événement sur TreeView
    Par gilles641 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/06/2006, 16h56
  2. click sur treeview
    Par gdpasmini dans le forum Windows
    Réponses: 1
    Dernier message: 15/05/2006, 14h13
  3. [C#][.Net 2.0] donner focus à Combobox, après click sur treeview
    Par Harry_polin dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/02/2006, 22h27
  4. [Forms 6i] icon sur treeview
    Par Process Linux dans le forum Oracle
    Réponses: 2
    Dernier message: 26/01/2006, 12h14
  5. Demande d'info sur treeview
    Par Anaxagore dans le forum IHM
    Réponses: 6
    Dernier message: 28/08/2003, 18h27

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