|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 19 ![]() |
Bonjour,
Je suis désolé de faire appel au forum pour un problème qui doit être simple mais cela fait deux jours que je tourne en rond. Je souhaite ajouter, par requête SQL exécutée par le code VBA déclenché par le click sur un bouton de commande, à une table nommée "Tbl_DC" d'une base de donnée "BD_dest" tous les enregistrements et tous les champs de la même table "Tbl_DC" provenant d'une base nommée "BD_Sourc". Cette opération se déroule parfaitement directement sous access 2007 par la séquence - créer -requête-requête ajout - choix de la table Tbl_DC et de tous ses camps (Tbl_DC.*) - choix -autre base access - exécuter. Par contre le passage par SQL direct et l'éxecution du code issu de SQL Direct par Run.Sql INSER INTO ...... renvoie une erreur malgré le soin mis à respecter la syntaxe suggérée par l'aide et par les tutoriels que j'ai consultés. J'ajoute que, lorsque ce problème sera résolu je souhaite modifier automatique le contenu d'un champ nommé "ID_DC" (dans la base BD_Dest) pour éviter les doublons (Numéros de 1 à NNN). je vous remercie par avance de votre aide et de votre indulgence. R.O. |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : novembre 2004 Messages : 216 ![]() |
Bonsoir,
ne sois pas désolé de demander de l'aide au forum c'est sa raison d'exister. Je ne doute pas un instant du grand soin que tu as mis pour respecter la syntaxe dans ton code SQL et nous t'en serons gré... Toujours est-il que tu es embêté par une erreur dont tu n'as pas jugé pertinent de nous préciser le numéro ni le libellé. Sans cette erreur et/ou sans le code incriminé tu penses bien qu'il nous est difficile de résoudre ton problème (seuls des dons divinatoires le pourraient) ... |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : mars 2010 Messages : 19 ![]() |
Bonjour,
Le code incriminé est le suivant : Code :
|
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 19 ![]() |
Re... Bonjour,
J'avais oublié dans la précision que je viens de donner . Ma question était libellée de façon générique pour la clarifier. En fait, en envoyant cette précision je me suis rendu compte que dans le libellé de la syntaxe la clause Where n'est peut-être pas indispensable et que c'est pour cela que la boite de dialogue s'ouvre. A voir !!! Mais cela n'empêche pas l'erreur 3346 . |
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : mars 2010 Messages : 19 ![]() |
Bonsoir, après plusieurs essais, je suis arrivé au code suivant :
Code :
J'avoue ne pas comprendre ce qui se passe et désespère de trouver la solution.. |
||
|
|
00
|
|
|
#6 | ||
|
Membre éclairé
![]() Inscription : novembre 2004 Messages : 216 ![]() |
Bonsoir,
pour qu'Access comprenne ton instruction SQL il faut la bonne syntaxe, à savoir : les constantes entre " ", la base externe entre ' ' (qui devient un nom de fichier) et les variables balisées par des & & : Code :
Code :
Fich_fusion = "'D:\FichAccess\access_temp\BD_ACG01a.accdb'" |
||
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() Inscription : novembre 2004 Messages : 216 ![]() |
Avec ta dernière version cela donne ceci :
Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mars 2010 Messages : 19 ![]() |
Merci à Tee Granbois pour sa solution. J'avoue que, dans ma doc je ne crois pas avoir vu d'infos sur la nécessité de présence des & (source principale : VBA pour les Nuls") mais peut-être n'ai-je pas exploré suffisamment le livre.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com