begin process at 2012 02 13 03:25:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > GESTION DE CD AVEC MS ACCESS, (AJOUT, MODIF ET SUPPRIME AVEC UN TREEVIEW)

GESTION DE CD AVEC MS ACCESS, (AJOUT, MODIF ET SUPPRIME AVEC UN TREEVIEW)


 Information sur la source

Note :
8,8 / 10 - par 5 personnes
8,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VB.NET Source .NET ( DotNet ) Niveau :Débutant Date de création :20/12/2004 Date de mise à jour :21/12/2004 20:35:11 Vu / téléchargé :13 869 / 2 006

Auteur : Creat

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce petit logiciel est quand même simple, même si j'ai buché pour comprendre le treeview avec un BD Access.

Ce petit logiciel me sert à faire ma Gestion de CD qui sont fait et disponible et ceux qui me reste à faire.  Comme il n'y a pas tellement d'exemple avec un Treeview j'ai supossé que cela vous intéresserait.

Il reste un point que j'ai pas terminé, c'est le déplacement de Titre et d'InfoTitre dans le Non Disponible vers le Disponible.


Source

  • #Region " Remplir le TreeView "
  • Public Sub LoadTreeview()
  • Dim objDataSet As New DataSet
  • SQLString = "SELECT * FROM T_CD_Groupe ORDER BY Groupe ASC"
  • Dim objDataAdapterGroupe As New OleDb.OleDbDataAdapter(SQLString, objConnection)
  • SQLString = "SELECT * FROM T_CD_Categorie ORDER BY Categorie ASC"
  • Dim objDataAdapterCategorie As New OleDb.OleDbDataAdapter(SQLString, objConnection)
  • SQLString = "Select * from T_CD_Titre ORDER BY TitreCD ASC"
  • Dim objDataAdapterTitre As New OleDb.OleDbDataAdapter(SQLString, objConnection)
  • SQLString = "Select * from T_CD_InfoTitre"
  • Dim objDataAdapterInfo As New OleDb.OleDbDataAdapter(SQLString, objConnection)
  • objConnection.Open()
  • objDataAdapterGroupe.Fill(objDataSet, "dtGroupe")
  • objDataAdapterCategorie.Fill(objDataSet, "dtCategorie")
  • objDataAdapterTitre.Fill(objDataSet, "dtTitre")
  • objDataAdapterInfo.Fill(objDataSet, "dtInfoTitre")
  • objConnection.Close()
  • 'Créé une relation entre les Tables.
  • objDataSet.Relations.Add("GrToCat", objDataSet.Tables("dtGroupe").Columns("GroupeID"), _
  • objDataSet.Tables("dtCategorie").Columns("GroupeID"))
  • objDataSet.Relations.Add("CatToTitre", objDataSet.Tables("dtCategorie").Columns("CategorieID"), _
  • objDataSet.Tables("dtTitre").Columns("CategorieID"))
  • objDataSet.Relations.Add("TitreToInfo", objDataSet.Tables("dtTitre").Columns("TitreCDID"), _
  • objDataSet.Tables("dtInfoTitre").Columns("TitreCDID"))
  • '''''''''''''''''''''''
  • TreeView1.Nodes.Clear()
  • Dim drGroupe As DataRow
  • Dim ParentTable As DataTable
  • ParentTable = objDataSet.Tables("dtGroupe")
  • For Each drGroupe In ParentTable.Rows
  • Dim ParentNode As TreeNode
  • ParentNode = New TreeNode(drGroupe.Item(1))
  • TreeView1.Nodes.Add(ParentNode)
  • ParentNode.Tag = drGroupe("GroupeID")
  • ''''populate child'''''
  • '''''''''''''''''''''''
  • Dim drCategorie As DataRow
  • Dim childnode As TreeNode
  • childnode = New TreeNode
  • For Each drCategorie In drGroupe.GetChildRows("GrToCat")
  • childnode = ParentNode.Nodes.Add(drCategorie(2))
  • childnode.Tag = drCategorie("CategorieID")
  • ''''populate child2''''
  • ''''''''''''''''''''''''''
  • Dim drTitre As DataRow
  • Dim ChildNode2 As TreeNode
  • ChildNode2 = New TreeNode
  • For Each drTitre In drCategorie.GetChildRows("CatToTitre")
  • ChildNode2 = childnode.Nodes.Add(drTitre(2))
  • ChildNode2.Tag = drTitre("TitreCDID")
  • ''''populate child3''''
  • ''''''''''''''''''''''''''
  • Dim drInfoTitre As DataRow
  • Dim ChildNode3 As TreeNode
  • ChildNode3 = New TreeNode
  • For Each drInfoTitre In drTitre.GetChildRows("TitreToInfo")
  • ChildNode3 = ChildNode2.Nodes.Add(drInfoTitre(2))
  • ChildNode3.Tag = drInfoTitre("InfoID")
  • Next drInfoTitre
  • '''''''''''''''''''''''''
  • Next drTitre
  • ''''''''''''''''''''''''
  • Next drCategorie
  • '''''''''''''''
  • Next drGroupe
  • TreeView1.Nodes(0).Expand()
  • TreeView1.Nodes(0).Nodes(1).Expand()
  • End Sub
  • #End Region
#Region " Remplir le TreeView "
    Public Sub LoadTreeview()
        Dim objDataSet As New DataSet

        SQLString = "SELECT * FROM T_CD_Groupe ORDER BY Groupe ASC"
        Dim objDataAdapterGroupe As New OleDb.OleDbDataAdapter(SQLString, objConnection)

        SQLString = "SELECT * FROM T_CD_Categorie ORDER BY Categorie ASC"
        Dim objDataAdapterCategorie As New OleDb.OleDbDataAdapter(SQLString, objConnection)

        SQLString = "Select * from T_CD_Titre ORDER BY TitreCD ASC"
        Dim objDataAdapterTitre As New OleDb.OleDbDataAdapter(SQLString, objConnection)

        SQLString = "Select * from T_CD_InfoTitre"
        Dim objDataAdapterInfo As New OleDb.OleDbDataAdapter(SQLString, objConnection)

        objConnection.Open()

        objDataAdapterGroupe.Fill(objDataSet, "dtGroupe")
        objDataAdapterCategorie.Fill(objDataSet, "dtCategorie")
        objDataAdapterTitre.Fill(objDataSet, "dtTitre")
        objDataAdapterInfo.Fill(objDataSet, "dtInfoTitre")

        objConnection.Close()

        'Créé une relation entre les Tables.
        objDataSet.Relations.Add("GrToCat", objDataSet.Tables("dtGroupe").Columns("GroupeID"), _
                                                objDataSet.Tables("dtCategorie").Columns("GroupeID"))
        objDataSet.Relations.Add("CatToTitre", objDataSet.Tables("dtCategorie").Columns("CategorieID"), _
                                                objDataSet.Tables("dtTitre").Columns("CategorieID"))
        objDataSet.Relations.Add("TitreToInfo", objDataSet.Tables("dtTitre").Columns("TitreCDID"), _
                                                objDataSet.Tables("dtInfoTitre").Columns("TitreCDID"))
        '''''''''''''''''''''''
        TreeView1.Nodes.Clear()
        Dim drGroupe As DataRow
        Dim ParentTable As DataTable
        ParentTable = objDataSet.Tables("dtGroupe")

        For Each drGroupe In ParentTable.Rows
            Dim ParentNode As TreeNode
            ParentNode = New TreeNode(drGroupe.Item(1))
            TreeView1.Nodes.Add(ParentNode)
            ParentNode.Tag = drGroupe("GroupeID")

            ''''populate child'''''
            '''''''''''''''''''''''
            Dim drCategorie As DataRow
            Dim childnode As TreeNode
            childnode = New TreeNode
            For Each drCategorie In drGroupe.GetChildRows("GrToCat")
                childnode = ParentNode.Nodes.Add(drCategorie(2))
                childnode.Tag = drCategorie("CategorieID")

                ''''populate child2''''
                ''''''''''''''''''''''''''
                Dim drTitre As DataRow
                Dim ChildNode2 As TreeNode
                ChildNode2 = New TreeNode
                For Each drTitre In drCategorie.GetChildRows("CatToTitre")
                    ChildNode2 = childnode.Nodes.Add(drTitre(2))
                    ChildNode2.Tag = drTitre("TitreCDID")

                    ''''populate child3''''
                    ''''''''''''''''''''''''''
                    Dim drInfoTitre As DataRow
                    Dim ChildNode3 As TreeNode
                    ChildNode3 = New TreeNode
                    For Each drInfoTitre In drTitre.GetChildRows("TitreToInfo")
                        ChildNode3 = ChildNode2.Nodes.Add(drInfoTitre(2))
                        ChildNode3.Tag = drInfoTitre("InfoID")
                    Next drInfoTitre
                    '''''''''''''''''''''''''
                Next drTitre
                ''''''''''''''''''''''''
            Next drCategorie
            '''''''''''''''
        Next drGroupe
        TreeView1.Nodes(0).Expand()
        TreeView1.Nodes(0).Nodes(1).Expand()
    End Sub
#End Region


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

21 décembre 2004 20:35:11 :
----- Je viens de mettre à jour la suppression car je n'avais pas fait le test à plusieurs sous embramchement. En même temp plus besoin de vaire vérifier les ID de chancune des tables parce que je le fait mettre dans le tag lorsqu'on load le treeview. Enfin si vous trouvez d'autre bug, il me fera plaisir de les corriger. Merci

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) LIGNE 3D
Source avec Zip Source avec une capture Source .NET (Dotnet) CARNET TÉLÉPHONE AVEC ACCESS, LISTVIEW, OLEDB, COMMANDE SQL ...
Source avec Zip Source avec une capture Source .NET (Dotnet) CALCUL DE DATE PAR UN INTERVAL DE SEMAINE

 Sources de la même categorie

Source .NET (Dotnet) MODIFICATION DATE DE WINDOWS EN VB.NET ET VBA par us_30
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOI DE MAIL AVEC PIÈCE JOINTE par EhJoe
Source .NET (Dotnet) AMUSONS NOUS AVEC UN LABEL ^^ par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) UN NAVIGATEUR INTERNET EN VB.NET par azrti
Source avec Zip Source .NET (Dotnet) CONVERSION DE DEVISE MONAITAIRE VIA UN SERVICE WEB par bigmonkey7

Commentaires et avis

Commentaire de Creat le 20/12/2004 05:28:47

Oups, j'oubliais, si vous avez des commentaires ou des modification qui pourrait améliorer le code.  Je suis preneur.

Merci de votre compréhension

Commentaire de Creat le 20/12/2004 12:39:08

Merci pour celui ou celle qui m'a donner 10, ça fait plaisir

Commentaire de Ruffus le 16/01/2005 03:14:14

J'ai survolé ton code en un clin d'oeil.

Ton code n'est pas récursif, ta solution est donc
limité a 4 niveau de child.

ton code devrait ressembler a cela :

proc sample()
    for .. each
    sample()
return


Ruffus

Commentaire de Ruffus le 16/01/2005 03:16:01

correction je l'ai fait un peu vite

proc sample()
    for .. each
    if (child )
    {
         sample()
    }
return

Commentaire de Creat le 16/01/2005 03:31:25

En effet, il est limité à 4 niveaux,  j'ai de la difficulté à voir comment je pourrais le rendre récursif.  Si tu as une solution, je serais curieux de voir comment tu fais.

Merci

Commentaire de cedrigoler le 06/05/2005 18:55:40

comme l'a dit Ruffus, il faut qu'au coeur meme de ta fonction, il appelle la meme fonction. Il à écrit :

proc sample() <------ !!
    for .. each
    if (child )
    {
         sample() <----- !!
    }
return

Tu vois la fonction "sample" est appelé dans la fonction "sample",  et non chui pas gateu, je ne me repette pas :)

Tu vois les possibilités d'une telle methode ? non ?

Commentaire de patrickupl le 23/02/2008 06:30:07

Bravo !
C'est un exemple modèle, c'est très bien monté et détaillé. Même pour un débutant comme moi, j'arrive à m'y retrouver.

Penses-tu que tu pourrais ajouter une procédure, avec un bouton, qui pourrait ajouter un groupe à la racine de l'arboraissance ?

Dans le treeview, peut-on faire apparaitre un deuxième champ ?
EX:
   Dans Access:
   Table: T_CD_InfoTitre
   Champ: InfoID,TitreCDID,InfoTitre,NOMAUTEUR

   Dans le treeview...est-ce possible de faire afficher
   cela ainsi ? Le champ "NOMAUTEUR" peut s'afficher à la
   suite du champ "InfoTitre" sur un même "Child" ?

   -Groupe
      - Categorie
           -Titre CD
               -InfoTitre + NOMAUTEUR

si vous avez une solution ou des réponses à mes questions...voici mon courriel : tissot_pr200@hotmail.com

Commentaire de hichammalki le 18/03/2009 12:48:03

Bravo !
ça fait plaisir

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales