begin process at 2010 03 19 12:35:24
  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é :12 229 / 1 896

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 avec Zip Source .NET (Dotnet) SÉRIALISTION - DÉSERIALISATION DE TABLEAUX ET COLLECTIONS par AlexMS
Source avec Zip Source avec une capture Source .NET (Dotnet) [LAMEGRID] SÉRIALISATION - DÉSERIALISATION par AlexMS
Source avec Zip Source avec une capture Source .NET (Dotnet) INSERER TOUT TYPE DE FICHIERS DANS ORACLE EN VB.NET par SKY32
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOYER DES EMAILS AVEC PIECES JOINTES EN EXÉCUTANT BLAT par mays
Source avec Zip Source avec une capture Source .NET (Dotnet) PILOTER DES AFFICHEURS 7 SEGMENTS À PARTIR DU PORT SÉRIE OU ... par mays

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


Appels d'offres

Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,390 sec (4)

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