Comment créer une base access, créer table, lire colonne, en quelques lignes vb5-vb6

Soyez le premier à donner votre avis sur cette source.

Vue 59 656 fois - Téléchargée 3 589 fois

Description

C'est un code très simple qui dépannera des nouveaux j'en suis sur.
Il réponds à ces questions (en DAO):
- comment creer une base Access sous VB
- comment creer une table Access sous VB
- comment lire les données d'une table / requêtes Access sous VB

1- crée un formulaire très simple :
--> attention, tu dois respecter les noms des 4 obets suivant,
--> c'est une bonne habitude de bien nommer tes contrôles !

boutons: cmdCreer, cmdTester, et cmdQuitter
combo: cboAccess

2- dans le menu projet, menu références, coche :
Microsoft DAO 3.5 Object Library
(te permet d'utiliser le dao pour accéder à ta base access 97)

3- copie le code dans le formulaire :

Source / Exemple :


Option Explicit
    Const MA_BASE_ACCESS As String = "z.mdb"

Private Sub cmdCreer_Click()
    Dim db As DAO.Database

    'Création d'une base vide (plus simple tu meurs !)
    Set db = DAO.Workspaces(0).CreateDatabase(MA_BASE_ACCESS, dbLangGeneral)

    'Création d'une table avec une requête (simple non ?)
    db.Execute "CREATE  TABLE [TableY] ( [ColonneX] Text(50) );"

    'On crée une ligne dans cette table
    db.Execute "INSERT INTO TableY ( ColonneX ) values ('Ceci est un test');"

    'On crée une seconde ligne dans cette table
    db.Execute "INSERT INTO TableY ( ColonneX ) values ('Une autre ligne');"

    'Referme la base proprement
    db.Close

    'Libère l'objet (très important et souvent oublié)
    Set db = Nothing

End Sub

Private Sub cmdTester_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Me.cboAccess.Clear

    'Pas de mot de passe,
    'ouverture la plus simple en mode partagé
    Set db = DAO.Workspaces(0).OpenDatabase(MA_BASE_ACCESS, False, False)

    'Ouverture d'une requête sur la table,
    'dbForwardOnly = lecture en avant = plus rapide
    Set rs = db.OpenRecordset("select * from [TableY];", , dbForwardOnly)

    'Tant qu'il en reste
    Do While Not rs.EOF
        'Ajout dans la combo
        'du premier champ de la requête
        Me.cboAccess.AddItem rs.Fields(0).Value

        'passe au suivant
        rs.MoveNext
    Loop

    'On affiche le premier élément
    'de la liste comme sélectionné
    If Me.cboAccess.ListCount > 0 Then
        Me.cboAccess.ListIndex = 0
    End If

    'Referme la requête proprement
    rs.Close

    'Referme la base proprement
    db.Close

    'Libère l'objet (très important et souvent oublié)
    Set rs = Nothing

    'Libère l'objet (très important et souvent oublié)
    Set db = Nothing

End Sub

Private Sub cmdQuitter_Click()
    'On referme tout et fini
    Unload Me
    End
End Sub

Conclusion :


Modification du 25-08-2002 : le fichier zip est corrigé, un nouveau bouton permet la création d'une table et de champs par l'utilisation de tabledefs et fields.

voilà
Bigane@tiscalinet.ch

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_shivan
Messages postés
363
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
25 août 2003
-
ben si c toi, c parfait !!! je voulais mettre au propre un tutoriel dans le genre, mais la je suis coiffé au poteau !!! ;-)
bon ben un 10/10 pour la clarté !

$hîv@n
106
Messages postés
39
Date d'inscription
jeudi 17 janvier 2002
Statut
Membre
Dernière intervention
14 janvier 2008
-
C'est une solution. Et en plus, elle peut fonctionner avec d'autres types de base de données.
J'utilise une autre méthode, j'essaierai d'en faire un petit extrait.

Aller 9/10 pour pas mettre 10.
cs_bigane
Messages postés
46
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
12 février 2004
-
Merci pour les notes, oui c'est bien de moi.
safireevil
Messages postés
18
Date d'inscription
mercredi 2 janvier 2002
Statut
Membre
Dernière intervention
23 septembre 2002
-
g 1 problème !
y me dit type défini par l'utilisateur non défini à propos de "Dim db As DAO.Database"

qqn peut-il m'aider ?
cs_bigane
Messages postés
46
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
12 février 2004
-
Facile, ce qu'il te manque c'est le moteur jet (DAO) :
Tu vas dans le menu Projet / Références, et tu coches
Microsoft DAO 3.51 Object Library
(PS: tu peux avoir DAO 3.6, ou un autre suivant ton installation de VB6)
(PS/PS évite DAO 2.5/3.51 qui est une compatibilité pour ancien composant)
A+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.