Création base access en vb.net

Soyez le premier à donner votre avis sur cette source.

Snippet vu 22 429 fois - Téléchargée 31 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
17 juin 2016 à 19:04
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
5 janv. 2013 à 11:17
très bon code merci beaucoup!!!!!
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
3 janv. 2010 à 03:34
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
11 mars 2008 à 16:55
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
15 févr. 2008 à 15:09
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.