ado Vb6 comment ajouter des tables? [Résolu]

Messages postés
83
Date d'inscription
lundi 17 août 2009
Dernière intervention
3 août 2013
- - Dernière réponse : omartt
Messages postés
83
Date d'inscription
lundi 17 août 2009
Dernière intervention
3 août 2013
- 21 sept. 2010 à 13:36
Bonjour
Je voudrai ajouter des tables à une bd Access en se servant de ce code: la connexion se fait mais l'ajout des tables ne s’effectue pas.
message d’erreur:
Erreur de syntax dans la définition de champ.

Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command

Private Sub cmdCreateTable_Click()

If db Is Nothing Then
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=; Data Source=" & App.Path & "\database.mdb"

If db.State = adStateOpen Then
MsgBox "Database Connection successful...!"
Else
MsgBox "Sorry, can't connect to the Database ...."
End If
Set cmd.ActiveConnection = db
cmd.CommandText = "CREATE TABLE Customer (CustomerID , Address , City , State , PostalCode)"

cmd.Execute , , adCmdText"

cmd.Execute , , adCmdText
db.Close
Set db = Nothing
Set cmd = Nothing
End If

End Sub
cordialement
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
73
3
Merci
Salut

Il manque le type de chaque champ.
Ouvre ton moteur de recherche favori et tape "CREATE TABLE" (avec les guillemets) et tu auras la syntaxe à utiliser.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
73
3
Merci
Fait attention :
Char(6) veut dire que chaque champ comportera 6 caractères.
Si le texte que tu y mets ne fait que 3 caractères, le champ sera complété par des espaces pour arriver à 6.
Cela peut avoir une influence quand tu reliras les valeurs.

Préfère VarChar(6)
La longueur du champ s'adaptera à la longueur de la chaine, maxi 6 caractères.
Aura aussi une influence bénéfique sur la taille de la DB (puisqu'on y stockera pas d'espaces inutiles)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
83
Date d'inscription
lundi 17 août 2009
Dernière intervention
3 août 2013
0
Merci
merci jack
voici le code
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
Set cmd = New ADODB.Command
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=; Data Source=" & App.Path & "\data.mdb"
If db.State = adStateOpen Then
MsgBox "Database Connection successful...!"
Else
MsgBox "Sorry, can't connect to the Database ...."
End If
Set cmd.ActiveConnection = db
cmd.CommandText = "CREATE TABLE Customer (CustomerID Char(6) PRIMARY KEY, Name Char(20), Address Char(30), City Char(30), State Char(2), PostalCode Char(9))"

cmd.Execute , , adCmdText
db.Close
Set db = Nothing
Set cmd = Nothing
Commenter la réponse de omartt
Messages postés
83
Date d'inscription
lundi 17 août 2009
Dernière intervention
3 août 2013
0
Merci
merci beaucoup jack
Commenter la réponse de omartt

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.