Créer une base de données Access en vb.net
Résolu
Utilisateur anonyme
-
BloodyAngel Messages postés 1482 Date d'inscription Statut Contributeur Dernière intervention -
BloodyAngel Messages postés 1482 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voila plusieurs dizaines de minutes qu'un truc m'énerve au plus haut point. Je cherche à générer une base de données Access en VB.Net. Un champ devrait avoir la propriété Numéro auto. Et ben malgré plusieurs codes sources que j'ai vu, aucun ne fonctionne! Si quelqu'un pouvait m'éclairer. Voici le code :
Donc le champ Numéro devrait être automatique. D'après plusieurs forums, il faudrait mettre ça comme :
col.Properties("AutoIncrement").Value = True
Et ben VB.Net ne veut rien savoir, il me dit que cette propriété n'est pas présente dans la liste, qui est même vide (si je fais un col.Properties.Count ça me renvoie 0). Ca commence vraiment à m'énerver, alors si quelqu'un a une indication, je suis preneur.
Voila plusieurs dizaines de minutes qu'un truc m'énerve au plus haut point. Je cherche à générer une base de données Access en VB.Net. Un champ devrait avoir la propriété Numéro auto. Et ben malgré plusieurs codes sources que j'ai vu, aucun ne fonctionne! Si quelqu'un pouvait m'éclairer. Voici le code :
Dim adCat As New ADOX.Catalog Dim tb As New ADOX.Table adCat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=demo.mdb") tb.Name = "Contacts" Dim col As New ADOX.Column col.Name = "Numéro" col.Type = ADOX.DataTypeEnum.adInteger tb.Columns.Append(col) tb.Columns.Append("Nom", ADOX.DataTypeEnum.adVarWChar, 50) tb.Columns.Append("Prénom", ADOX.DataTypeEnum.adVarWChar, 50) tb.Keys.Append("PK_Numero", ADOX.KeyTypeEnum.adKeyPrimary, "Numéro") adCat.Tables.Append(tb)
Donc le champ Numéro devrait être automatique. D'après plusieurs forums, il faudrait mettre ça comme :
col.Properties("AutoIncrement").Value = True
Et ben VB.Net ne veut rien savoir, il me dit que cette propriété n'est pas présente dans la liste, qui est même vide (si je fais un col.Properties.Count ça me renvoie 0). Ca commence vraiment à m'énerver, alors si quelqu'un a une indication, je suis preneur.
A voir également:
- Créer une base de données Access en vb.net
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
- Créer un lien pour partager des photos - Guide
- Base de registre - Guide
6 réponses
Hello
tu pourrais toujours essayer une autre façon de faire...
J'ai pioché ce code SQL sur un site, il te suffira de l'adapter et de l'utiliser dans ton code :
CREATE TABLE Product
(
ID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Name VARCHAR(40) NOT NULL,
PRIMARY KEY (ID)
);
En espérant que ça pourra t'aider
tu pourrais toujours essayer une autre façon de faire...
J'ai pioché ce code SQL sur un site, il te suffira de l'adapter et de l'utiliser dans ton code :
CREATE TABLE Product
(
ID SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Name VARCHAR(40) NOT NULL,
PRIMARY KEY (ID)
);
En espérant que ça pourra t'aider
Oui j'y ai pensé, mais disons que si .NET fournit déjà des objets qui s'occupent de gérer du SQL pour toi, il faut les utiliser. C'est bien plus simple (quoique ça peut devenir tout aussi "prise de tête" dans certains cas).
Mais je viens juste de trouver où se trouve mon erreur : visiblement, il faut mettre
col.ParentCatalog = adCat
Quand on crée un objet Column pour prendre les propriétés de la BD visiblement.
Après je peux mettre :
col.Properties("Autoincrement").Value = True
col.Properties("Seed").Value = 1
col.Properties("Increment").Value = 1
Et ça marche. Dire que j'ai trouvé par hasard...
Mais je viens juste de trouver où se trouve mon erreur : visiblement, il faut mettre
col.ParentCatalog = adCat
Quand on crée un objet Column pour prendre les propriétés de la BD visiblement.
Après je peux mettre :
col.Properties("Autoincrement").Value = True
col.Properties("Seed").Value = 1
col.Properties("Increment").Value = 1
Et ça marche. Dire que j'ai trouvé par hasard...
Ah oki...
Je comprend pas trop pourquoi il faut directement associer un objet colonne à un catalogue pour pouvoir initialiser ses propriétés... mais bon ^^ Le principal c'est que ça marche.
Bin t'as résolu ton propre problème... Congratulations ;)
Je comprend pas trop pourquoi il faut directement associer un objet colonne à un catalogue pour pouvoir initialiser ses propriétés... mais bon ^^ Le principal c'est que ça marche.
Bin t'as résolu ton propre problème... Congratulations ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question