erreur de syntaxe dans un sql

5 réponses
Avatar
MULLER
bonjour
ou est l'erreur de syntaxe dans la troisième commande ?

1 passage de constantes

' dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) VALUES
(2000,#12/12/2012#,'jaune');"


2 passage de champs , mais c'est toute la base qui passe dans la
nouvelle base

' dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) " _
' & "SELECT [NUMERO DE DOSSIER],[DATE MB1],[COULEUR MBEBE]" _
' & "FROM [FICHIER SOCIAL] IN ""z:\social_princip.mdb"" ;"


3 passage d'un seul champ , mais erreur de syntaxe ??????????????????
dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) " _
& "SELECT [NUMERO DE DOSSIER],[DATE MB1],[COULEUR MBEBE]" _
& "FROM [FICHIER SOCIAL] IN ""z:\social_princip.mdb"" " _
& "WHERE [NUMERO DE DOSSIER] = lDOSSIERNUMERO ;"


joyeux Noel

5 réponses

Avatar
db
Le 20/12/2012 17:32, MULLER a écrit :

bonjour
ou est l'erreur de syntaxe dans la troisième commande ?


3 passage d'un seul champ , mais erreur de syntaxe ??????????????????
dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) " _
& "SELECT [NUMERO DE DOSSIER],[DATE MB1],[COULEUR MBEBE]" _
& "FROM [FICHIER SOCIAL] IN ""z:social_princip.mdb"" " _
& "WHERE [NUMERO DE DOSSIER] = lDOSSIERNUMERO ;"





Bonsoir,

A quoi correspond 1DOSSIERNUMERO ?

Si c'est une variable, il me paraîtrait plus prudent de la nommer
différemment (sans que le nom commence par un chiffre), et de la
"sortir" de la chaîne :

...
& "WHERE [NUMERO DE DOSSIER] = " & lDOSSIERNUMERO & " ;"


Joyeux Noël aussi,

db
Avatar
Gloops
MULLER a écrit, le 20/12/2012 17:32 :

bonjour
ou est l'erreur de syntaxe dans la troisième commande ?
3 passage d'un seul champ , mais erreur de syntaxe ??????????????????
dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) " _
& "SELECT [NUMERO DE DOSSIER],[DATE MB1],[COULEUR MBEBE]" _
& "FROM [FICHIER SOCIAL] IN ""z:social_princip.mdb"" " _
& "WHERE [NUMERO DE DOSSIER] = lDOSSIERNUMERO ;"


joyeux Noel



Bonjour,

Est-ce qu'il ne manque pas un espace devant FROM ?
Avatar
Gloops
MULLER a écrit, le 20/12/2012 17:32 :

bonjour
ou est l'erreur de syntaxe dans la troisième commande ?

3 passage d'un seul champ , mais erreur de syntaxe ??????????????????
dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) " _
& "SELECT [NUMERO DE DOSSIER],[DATE MB1],[COULEUR MBEBE]" _
& "FROM [FICHIER SOCIAL] IN ""z:social_princip.mdb"" " _
& "WHERE [NUMERO DE DOSSIER] = lDOSSIERNUMERO ;"


joyeux Noel



En règle générale, quand tu te poses ce genre de question, la premi ère
chose à faire est d'afficher la chaîne dans la fenêtre d'exécutio n (par
Debug.Print), et la deuxième, de faire un copier-coller vers l'éditeu r
de requêtes, pour exécuter la requête. En général, dans ce cont exte le
message est plus explicite.

A condition d'avoir Access sous la main bien sûr :)
Avatar
MULLER
Le 20/12/2012 17:54, db a écrit :
Le 20/12/2012 17:32, MULLER a écrit :

bonjour
ou est l'erreur de syntaxe dans la troisième commande ?




3 passage d'un seul champ , mais erreur de syntaxe ??????????????????
dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) " _
& "SELECT [NUMERO DE DOSSIER],[DATE MB1],[COULEUR MBEBE]" _
& "FROM [FICHIER SOCIAL] IN ""z:social_princip.mdb"" " _
& "WHERE [NUMERO DE DOSSIER] = lDOSSIERNUMERO ;"





Bonsoir,

A quoi correspond 1DOSSIERNUMERO ?

Si c'est une variable, il me paraîtrait plus prudent de la nommer
différemment (sans que le nom commence par un chiffre), et de la
"sortir" de la chaîne :

...
& "WHERE [NUMERO DE DOSSIER] = " & lDOSSIERNUMERO & " ;"


Joyeux Noël aussi,

db



1) [NUMERO DE DOSSIER] dans la base de données: numérique entier long

2) lDOSSIERNUMERO Dans le Module1 , j ai


Option Compare Database
Public lDOSSIERNUMERO As Long valeur entrée par l'opérateur dans une
requete.

PS: avec votre proposition , je n'ai plus d'erreur de syntaxe , mais
rien dans la nouvelle base. A approfondir

Je garde l'idée du debug.print pour m aider.


merci
Avatar
MULLER
Le 20/12/2012 18:14, Gloops a écrit :
MULLER a écrit, le 20/12/2012 17:32 :

bonjour
ou est l'erreur de syntaxe dans la troisième commande ?



3 passage d'un seul champ , mais erreur de syntaxe ??????????????????
dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) " _
& "SELECT [NUMERO DE DOSSIER],[DATE MB1],[COULEUR MBEBE]" _
& "FROM [FICHIER SOCIAL] IN ""z:social_princip.mdb"" " _
& "WHERE [NUMERO DE DOSSIER] = lDOSSIERNUMERO ;"


joyeux Noel



En règle générale, quand tu te poses ce genre de question, la première
chose à faire est d'afficher la chaîne dans la fenêtre d'exécution (par
Debug.Print), et la deuxième, de faire un copier-coller vers l'éditeur
de requêtes, pour exécuter la requête. En général, dans ce contexte le
message est plus explicite.

A condition d'avoir Access sous la main bien sûr :)





Merci cela fonctionne avec la commande comme ci dessous :


dbs.Execute "INSERT INTO FICHIERMMBB
(NUMERODOSSIER,DATEDISTRIBUTION,COULEURDISTRIBUTION) " _
& "SELECT [NUMERO DE DOSSIER],[DATE MB1],[COULEUR MBEBE]" _
& "FROM [FICHIER SOCIAL] IN ""z:social_princip.mdb"" " _
& "WHERE [NUMERO DE DOSSIER] = " & lDOSSIERNUMERO & " ;"