begin process at 2008 08 22 06:05:55
1 229 779 membres
50 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GÉRER SA BASE DE DONNÉES ACCESS EN TOUTE SIMPLICITÉ QUELQUE SOIT LE NOMBRE DE CHAMPS...


Information sur la source

Catégorie :Base de Donnees Source .NET ( DotNet ) Classé sous : base, donnees, access, gestion, gerer Niveau : Initié Date de création : 29/05/2007 Date de mise à jour : 30/05/2007 14:34:07 Vu / téléchargé: 14 388 / 1 985

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

Description

Bonjour à tous,

J'ai créer ces deux classes dans le but de simplifier la gestion d'une basse de donnée access.

1ere classe ====> Si votre base de données est deja créée ainsi que votre table, utiliser la classe C_BDD
2eme classe ====> Si votre base de données n'est pas créée alors la classe C_BDD_New est pour vous !

Fonctions implementées dans la 1ere classe :

- Parametrage en fonction de sa base de donnée (nombre de champs et de valeurs)
- Supprimer un element
- Inserer un element
- Update un element
- Supprimer tous les elements
- Selectionner un element particulier
- Verifie les doublons (lors des requetes insert et update)
- Gestions de quelques erreurs

Fonctions implementées dans la 2eme classe :

- Parametrage en fonction de sa base de donnée (nombre de champs et de valeurs)
- Creation de la base
- Creation d'une table spécifique
- Supprimer un element dans une table specifique
- Supprimer tous les elements dans une table specifique
- Supprimer la Base
- Supprimer une table specifique
- Supprimet toutes les tables
- Inserer un element dans une table specifique
- Update un element dans une table specifique
- Selectionner un element particulier dans un table spécifique
- Verifie les doublons (lors des requetes insert et update) dans une table specifique
- Gestions de quelques erreurs


Et oui ces classes s'adaptent à n'importe quelle base de donnée Access (deja créée ou pas) quelque soit le nombre de champs !!

Voir les exemples pour plus d'explications.

Source

  • 'Utiliser cette classe que si votre base Access est deja créée !!!!!
  • Private WithEvents test As New C_BDD("Principale", 3, Application.StartupPath & "\Birthday.mdb") 'en argument il faut le nom de la table, la nombre de champs et le chemin d'accès de la table
  • Private Sub az()
  • Dim t(2) As String
  • t(0) = "Prenom"
  • t(1) = "Age"
  • t(2) = "Birthday"
  • test.CreerChamps(t) 'pour créer les champs Prenom, Age, Birthday
  • Dim v(2) As String
  • v(0) = "Toto"
  • v(1) = "15"
  • v(2) = "15/07/88"
  • test.AjouterElement(v) 'ajout un elment
  • Dim z(2) As String
  • z(0) = "Tutu"
  • z(1) = "2145"
  • z(2) = "14/01/87"
  • test.ModifierElement(z, "Age", "15") 'modifie un element
  • Ndata = test.SelectionnerTousElements() 'selectionne tous les elements
  • Ndata = test.SelectionnerUnElements("Prenom", "toto") 'selectionne l'enregistrement dont le prenom = toto
  • test.EffacerTousLesElements() 'efface tous les elements
  • End Sub
  • Private Sub test_Erreur(ByVal Description As String) Handles test.Erreur
  • MsgBox(Description) 'pour la gestion des erreurs
  • End Sub
  • '**********************************
  • '**********************************
  • 'Utiliser cette classe que si votre base n'existe pas encore !
  • Private WithEvents test As New C_BDD_New
  • Private Sub az()
  • Dim t(4) As String 'tableau qui contient les champs
  • t(0) = "Prenom"
  • t(1) = "Age"
  • t(2) = "Birthday"
  • t(3) = "Cool"
  • t(4) = "Raoulke"
  • test.SupprimerBase(Application.StartupPath & "\Birthday1.mdb") 'supprime la base si elle existe
  • test.CreerBase(Application.StartupPath & "\Birthday1.mdb") 'crée la base de donnée
  • test.CreerTable("Salut", t) 'pour créer les champs Prenom, Age, Birthday, Coll et Raeoulke
  • test.CreerTable("Bonsoir", t)
  • test.CreerTable("Aurevoir", t)
  • Dim v(4) As String
  • v(0) = "Toto"
  • v(1) = "15"
  • v(2) = "15/07/88"
  • v(3) = "er"
  • v(4) = "trtrtrt"
  • test.AjouterElement("Salut", v) 'ajout un elment
  • test.AjouterElement("Bonsoir", v) 'ajout un elment
  • Dim z(4) As String
  • z(0) = "Tutu"
  • z(1) = "2145"
  • z(2) = "14/01/87"
  • z(3) = "jhyt"
  • z(4) = "oopopo"
  • test.ModifierElement("Salut", z, "Age", "15") 'modifie un element dans la table Salut
  • test.ModifierElement("Aurevoir", z, "Age", "15") 'modifie un element dans la table Aurevoir
  • Ndata = test.SelectionnerTousElements("Salut") 'selectionne tous les elements de la table Salut
  • Ndata = test.SelectionnerUnElements("Aurevoir", "Prenom", "toto") 'selectionne l'enregistrement dont le prenom = toto dans la talbe Aurevoir
  • test.EffacerTousLesElements("Salut") 'efface tous les elements de la table Salut
  • test.SupprimerToutesBases()
  • End Sub
  • Private Sub test_Erreur(ByVal Description As String) Handles test.Erreur
  • MsgBox(Description) 'pour la gestion des erreurs
  • End Sub
'Utiliser cette classe que si votre base Access est deja créée !!!!!
 Private WithEvents test As New C_BDD("Principale", 3, Application.StartupPath & "\Birthday.mdb") 'en argument il faut le nom de la table, la nombre de champs et le chemin d'accès de la table 

    Private Sub az()

        Dim t(2) As String
        t(0) = "Prenom"
        t(1) = "Age"
        t(2) = "Birthday"
        test.CreerChamps(t) 'pour créer les champs Prenom, Age, Birthday

        Dim v(2) As String
        v(0) = "Toto"
        v(1) = "15"
        v(2) = "15/07/88"
        test.AjouterElement(v) 'ajout un elment

        Dim z(2) As String
        z(0) = "Tutu"
        z(1) = "2145"
        z(2) = "14/01/87"
        test.ModifierElement(z, "Age", "15") 'modifie un element

        Ndata = test.SelectionnerTousElements() 'selectionne tous les elements
        Ndata = test.SelectionnerUnElements("Prenom", "toto") 'selectionne l'enregistrement dont le prenom = toto

        test.EffacerTousLesElements() 'efface tous les elements
    End Sub

    Private Sub test_Erreur(ByVal Description As String) Handles test.Erreur
        MsgBox(Description) 'pour la gestion des erreurs
    End Sub

'**********************************
'**********************************

'Utiliser cette classe que si votre base n'existe pas encore !
Private WithEvents test As New C_BDD_New

    Private Sub az()
        Dim t(4) As String 'tableau qui contient les champs
        t(0) = "Prenom"
        t(1) = "Age"
        t(2) = "Birthday"
        t(3) = "Cool"
        t(4) = "Raoulke"

        test.SupprimerBase(Application.StartupPath & "\Birthday1.mdb") 'supprime la base si elle existe
        test.CreerBase(Application.StartupPath & "\Birthday1.mdb") 'crée la base de donnée
        test.CreerTable("Salut", t)  'pour créer les champs Prenom, Age, Birthday, Coll et Raeoulke
        test.CreerTable("Bonsoir", t)
        test.CreerTable("Aurevoir", t)

        Dim v(4) As String
        v(0) = "Toto"
        v(1) = "15"
        v(2) = "15/07/88"
        v(3) = "er"
        v(4) = "trtrtrt"

        test.AjouterElement("Salut", v) 'ajout un elment
        test.AjouterElement("Bonsoir", v) 'ajout un elment

        Dim z(4) As String
        z(0) = "Tutu"
        z(1) = "2145"
        z(2) = "14/01/87"
        z(3) = "jhyt"
        z(4) = "oopopo"

        test.ModifierElement("Salut", z, "Age", "15") 'modifie un element dans la table Salut
        test.ModifierElement("Aurevoir", z, "Age", "15") 'modifie un element dans la table Aurevoir

        Ndata = test.SelectionnerTousElements("Salut") 'selectionne tous les elements de la table Salut
        Ndata = test.SelectionnerUnElements("Aurevoir", "Prenom", "toto") 'selectionne l'enregistrement dont le prenom = toto dans la talbe Aurevoir

        test.EffacerTousLesElements("Salut") 'efface tous les elements de la table Salut
        test.SupprimerToutesBases()
    End Sub
    Private Sub test_Erreur(ByVal Description As String) Handles test.Erreur
        MsgBox(Description) 'pour la gestion des erreurs
    End Sub

Conclusion

Voila pas de bugs connus.

J'attends vos commentaires et critiques constructives !

++
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

29 mai 2007 22:44:45 :
orthographe
29 mai 2007 23:37:28 :
ajout commentaires
30 mai 2007 14:34:08 :
Mise à jour ====> Maintenant il y a deux classes qui s'adaptent parfaitement au cas par cas... Voir les explications
  • signaler à un administrateur
    Commentaire de fdiedler2000 le 31/05/2007 22:00:20

    C'est bizarre j'avais mis a jour mon code et ca n'a pas été mis a jour...

  • signaler à un administrateur
    Commentaire de fdiedler2000 le 01/06/2007 18:52:53

    Pas de commentaires ? :(

  • signaler à un administrateur
    Commentaire de fdiedler2000 le 04/06/2007 19:07:29

    AU moins ma source à l'air de plaire :)

  • signaler à un administrateur
    Commentaire de bobeche le 06/06/2007 12:18:42

    je dois adapter un code vb6 EN .NET
    JE CHERCHE DES CODES SOURCES QUI PUISSENT M  AIDER A ME CONNECTER ET A GERER MES BASES ACCESS
    JE TROUVE TA SOURCE BIEN FAITES
    MAIS J AI DU MAL A L UTILISER
    COMMENT ME CONNECTER A MA BASE
    AVANT DE LIRE LA BASE AVEC TES FONCTIONS
    MERCI POUR LA REPONSE
    BOBECHE

  • signaler à un administrateur
    Commentaire de Renfield le 06/06/2007 12:28:30 administrateur CS

    merci de ne pas écrire en majuscules

    c'est impoli et illisible

  • signaler à un administrateur
    Commentaire de fdiedler2000 le 06/06/2007 18:57:35

    Pourtant c'est simple, si ta base est deja crée alors tu utilises la classe C_BDD sinon tu utilises la classe C_DD_New et regarde l'exemple !!

  • signaler à un administrateur
    Commentaire de Jul_76 le 12/06/2007 14:32:33

    Bonjour je suis un utilisateur débutant de VB.Net.
    Je voudrais savoir si on peut ajouter ce code dans une form dans laquelle je possède déjà une liaison Oledb avec une table access.
    Cette form me permet de faire défiler mes entrées access par l'intermédiaire de "BindingManagerBase = 0 ,  +1 , etc..."
    merci d'avance
    ++

  • signaler à un administrateur
    Commentaire de PWM63 le 15/06/2007 12:40:29

    FDIEDLER2000, j'ai utilisé ta classe c_bdd pour ajouter des enregistrements dans une base existante.

    Utilisation facile + fonctionne parfaitement = 10/10 + surtout merci !

  • signaler à un administrateur
    Commentaire de fdiedler2000 le 25/06/2007 10:24:43

    JUL_76 ==> Sincerement je ne sais pas mais vous pouvez tester !

    PWM63 ==> Merci ca fait plaisir à entendre ^^

  • signaler à un administrateur
    Commentaire de farradjs le 31/08/2007 19:34:30

    est ce qu votre première classe permet de creer des tables dans une base deja creé parce que je constate une contradition entre :
    test As New C_BDD("Principale", 3, Application.StartupPath & "\Birthday.mdb")

    et
    Dim t(2) As String
            t(0) = "Prenom"
            t(1) = "Age"
            t(2) = "Birthday"
            test.CreerChamps(t) 'pour créer les champs Prenom, Age, Birthday

    en faite la fonction test.ModifierElement(z, "Age", "15") pour la première classe (C_BDD) me sort une erreur que je connait pas la solution si qlq a pu résoudre ce problème qu'il me soufle la réponse.
    en tout les cas c'est deux classes sont superbe.

  • signaler à un administrateur
    Commentaire de TokRa14 le 19/06/2008 15:41:32

    Bonjour !
    Merci pour ce code qui m'aide beaucoup !
    Cependant, j'ai une erreur avec vb.net 2008 lors de la fonction Faire_Champs:

        Private Function Faire_Champs(ByVal tab_champs() As String) As String
            Dim resultat As String = ""
            For i As Integer = 0 To UBound(tab_champs) 'liste tous les elements
                If i = UBound(tab_champs) Then 'si c'est le dernier element
                    resultat += tab_champs(i).ToString  'syntaxe pour le dernier champs
                Else
                    resultat += tab_champs(i).ToString & ", " 'syntaxe pour les champs
                End If
            Next

            Return " (" & resultat & ")"
        End Function

    Apparement ça plante au Else et ça me renvois une erreur qui dit:

    L'exception System.NullReferenceException n'a pas été gérée
      Message="La référence d'objet n'est pas définie à une instance d'un objet."

    avez vous une idée du probleme ?

  • signaler à un administrateur
    Commentaire de PWM63 le 20/06/2008 12:10:08

    Apparement, ton tab_champs(i) est Null.

    Essaye d'encapsuler la condition par celle-ci à peu près comme ca (j'ai pas vérifier la syntaxe) :
    if not isnull(tab_champs(i)) then
                If i = UBound(tab_champs) Then 'si c'est le dernier element
                    resultat += tab_champs(i).ToString  'syntaxe pour le dernier champs
                Else
                    resultat += tab_champs(i).ToString & ", " 'syntaxe pour les champs
                End If
    end if

  • signaler à un administrateur
    Commentaire de TokRa14 le 20/06/2008 14:04:40 10/10

    Coucou !
    Merci pour ta réponse, en fait j'ai trouvé le probleme !
    C'était mon nombre de champs qui n'était pas correct ! Ce que je comprend pas c'est que la gestion d'erreur ne marche pas et du coup j'avais aucuns message.
    J'ai tout remplacer par des msgbox et maintenant ça roule !
    En tout cas, super code, facile à comprendre, à manipuler, j'adore !!

    PS: Je débute tout juste en VB (.NET) alors la gestion des données, huhu !

  • signaler à un administrateur
    Commentaire de fdiedler2000 le 20/06/2008 14:08:50

    Salut,
    Effectivement il n'y a pas d'erreur mais si ton nombre de champs n'est pas correct alors tu auras des problèmes !

    En revanche, tu aurais du recevoir une erreur... As tu bien ajouté l'évent "Erreur" dans ton formulaire ?

  • signaler à un administrateur
    Commentaire de TokRa14 le 20/06/2008 18:21:44

    Ha oui !!
    J'avais peut etre oublié ce détail !
    Oups !!
    Bon bah en tout cas, j'ai mis des msgbox, et ça marche aussi bien :D

    Autre question, est-il possible de mettre à jour plusieurs champs en même temps avec ton code ? Ou dois-je faire appel à ModifierElement() à chaque champs que je veux modifier ?

    Merci pour vos réponse !

  • signaler à un administrateur
    Commentaire de fdiedler2000 le 20/06/2008 18:58:55

    Oui une ligne de code par modification ;)

Ajouter un commentaire

Discussions en rapport avec ce code source

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS