Création base access en vb.net

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 471 fois - Téléchargée 29 fois

Contenu du snippet

Créer une base access en vb.net, avec clé primaire, champs auotincrémenté et multi table.
J'ai énormément pour avoir toutes les infos, il me manque encore certaines choses, notemment le champs mémo sous access, je n'ai pas trouvé l'équivalent pour ce programme.

Source / Exemple :


Dim cat As Catalog
Dim conn As ADODB.Connection
Dim tbl As ADOX.Table

'Création de la base de données Access
'Crée la base de données dont le chemin est cheminDB
cat = New Catalog
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cheminDB & ";Jet OLEDB:Engine Type=5")
cat = Nothing

'Création des tables de la base de données
'ouvrir la connexion à la base de données
conn = New Connection
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cheminDB)

'Ouvrir le catalogue
cat = New Catalog
cat.ActiveConnection = conn

'Création de la table Editeurs
tbl = New Table
tbl.Name = "Editeurs"
'Ajout des differentes colonnes de la table
'adVarWChar correspond au champs texte sous access, 50 est la longueur, si on ne met rien, elle est de 255
tbl.Columns.Append("id", ADOX.DataTypeEnum.adInteger)
tbl.Columns.Append("nom", ADOX.DataTypeEnum.adVarWChar, 50)
'Definition de id en cle primaire
tbl.Keys.Append("PrimaryKey", KeyTypeEnum.adKeyPrimary, "id")
'Ligne indispensable pour acceder à  la prpriété autoincrement
tbl.Columns.Item("id").ParentCatalog = cat
Mise en place de l'autoincrement sur id
tbl.Columns.Item("id").Properties("AutoIncrement").Value = True
'Création de la table
cat.Tables.Append(tbl)

'fermeture des objet
tbl = Nothing
cat = Nothing
conn.Close()
conn = Nothing

Conclusion :


Je met ce code, car je n'ai trouve aucun code en français, contenant la totalité des infos que j'avais besoin. Si vous avez des questions n'hesitez pas j'essaierai d'y repondre

A voir également

Ajouter un commentaire

Commentaires

Xak28700
Messages postés
6
Date d'inscription
samedi 31 août 2013
Statut
Membre
Dernière intervention
17 juin 2016
-
Un grand merci pour ce code qui m'a permis de mixer et finaliser ma procédure :-)
djeha06
Messages postés
1
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
5 janvier 2013
-
très bon code merci beaucoup!!!!!
cs_bidouille007
Messages postés
263
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
22 décembre 2012
1 -
Bonjour

Quelqu'un a t'il compris ce que voulais dire PatObelix dans son commentaire.

Moi je comprends qu'il y aurait un moyen d'accèder à une base ACCESS sans microsoft.jet.oledb.4.0 dans la chaine de connexion.

Si c'est possible quelqu'un a t'il réussi à faire ca ?

D'avance merci
willou62
Messages postés
4
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
25 avril 2007
-
Pour l'équivalent du champ "Mémo" d'Accès il faut utiliser le type "ADOX.DataTypeEnum.adLongVarWChar"
cs_HAkki
Messages postés
4
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
15 février 2008
-
Il faut ajouter la référence suivante dans la solution et faire un imports ADOX dans le code

Microsoft ADO Ext. 6.0 for DDL and Security

cela suffit pour le catalog. Pour le reste il faut importer les Actives DataObject en référence et ajouter imports system.data

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.