VB ACCESS: Requete SQL [Résolu]

Signaler
Messages postés
235
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 mai 2011
-
Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008
-
Bonjour,

replonger dans le vb est difficile...j'ai l'impression d'avoir tout oublié...

J'ouvre une connection de vb vers access et je souhaite créer une table, hors, je rencontre un message d'erreur : Erreur de synthaxe Create Table.

J'ai testé avec une requete tout simple du genre:
CREATE TABLE toto (id SHORT, test TEXT);
ca fonctionne

par contre, celle requete ci:
SQL = "CREATE TABLE Test (id INT NOT NULL AUTO_INCREMENT,PRIMARY
KEY (id), Tech_Date DATETIME, Tech_Pole TEXT, C1 DATETIME, C2 DATETIME, C3
DATETIME, C4 DATETIME, C5 DATETIME, C6 DATETIME, C7 DATETIME, C8 SHORT, C9
SHORT, C10 SHORT, C11 SHORT, C12 DATETIME, C13 DATETIME, C14 DATETIME, C15
DATETIME, C16 SHORT);"


ne fonctionne pas, savez vous pourquoi?
Pareillement, il est impossible d'ajouter IF NOT EXIST à CREATE TABLE avec access...mais ca c'est secondaire

Je vous remercie beaucoup

EvilGost ;)

11 réponses

Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

Salut,

Comme je n'ai pas la science infuse j'ai testé avec access...

Il semblerait que l'AUTO_INCREMENT ne passe pas le reste fonctionne si tu enlèves AUTO_INCREMENT

Bye,
Cramsoturf le VBien en quête de nouveau programme :big)
3
Merci

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

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

Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

Sinon

Pour savoir si elle existe c'est simple :

Dim oTable As TableDef
dim oExist as boolean
for each oTable in MyDb.Tabledefs If oTable.name MyTable then oExist true: exit for

next oTable
Cramsoturf le VBien en quête de nouveau programme :big)
3
Merci

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

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

Messages postés
235
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 mai 2011
2
je viens de tester, en fait, c'est PRIMARY
KEY (id), qui ne fonctionne pas, mais merci quand meme.

En revanche, mon soucis, c'est que je voulais savoir si une table existe, savez vous si c'est possible?

EvilGost ;)
Messages postés
235
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 mai 2011
2
ah bah si, c'etait auto increment, par contre, je galère toujours avec mon probleme ci-dessus.....

En revanche, mon soucis, c'est que je voulais savoir si une table existe, savez vous si c'est possible?

merci :)

EvilGost ;)
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
52
Salut,

essaie de voir si cette requete peut t aider:
SELECT Name
FROM MSysObjects 

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

Salut

Je ne connais pas se msysObjects mais j'ai fait ma petite enquête
le mieux c'est de ne pas créer au départ ton champs et va sur ce lien il te dise comment faire pour faire un NuméroAuto:

http://support.microsoft.com/default.aspx?scid=kb;fr;304418

Cramsoturf le VBien en quête de nouveau programme :big)
Messages postés
235
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 mai 2011
2
Dans Dim oTabel As TableDef, il me dit que TableDef n'est pas défini, il faut une référence bien spécifique?

car moi, j'utilise ADO, donc j'ai du:
Dim CTdb as adodb.connection
Dim RcDB as adodb.recordset...

A quoi dois-je assoscier TableDefs?

je te remercie infiniment pour ton aide en tout cas ;)
EvilGost ;)
Messages postés
235
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 mai 2011
2
Finalement, j'ai réussi, j'ai ajouté un composant ADOX, merci énormément CramFr, je valide ta réponse ;)

EvilGost ;)
Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

Toujours avec plaisir pour aider un compatriote ;-)

Cramsoturf le VBien en quête de nouveau programme :big)
Messages postés
17
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
20 septembre 2005

Salut



C'est bien tout ca, mais pour tester la validité d'un lien a une table, vous faites comment ?

Je parle pour les tables liées ...



On peut les tester en faisant un recordset .. et si il est null (j'ai
toujours des données dans mes tables) a ce moment la c'est qu'il y a un
probleme ... donc lien de table a refaire ...



une autre idée svp ?


Le Negociateur
Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

Salut,
Pour ma part, je ne connais pas d'option direct mais si tu prends :

Dim oTable As TableDef
Dim cConnect as string

For Each oTable In CurrentDb.TableDefs
If oTable.Connect <> "" Then
cConnect = oTable.Connect
Exit For
End If
Next oTable
cConnect = Mid(cConnect, InStrRev(cConnect, "=") + 1)
et tu regardes si la source existe
A=

Cramsoturf le VBien en quête de nouveau programme