darkspoilt
Messages postés254Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention10 octobre 2013
-
23 mai 2007 à 10:08
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 2007
-
24 mai 2007 à 15:41
Bonjour,
J'ai un ptit souci ma requete SQL J'ai une erreur de syntaxe dans ma classe FROM et je ne vois pas pourquoi. Si quelqu'un peut m'aider je le remercie d'avance
<ol>
<li>Private Sub Commande13_Click()
</li>
<li> On Error GoTo Err_Commande13_Click
</li>
<li>
</li>
<li> Dim m As String
</li>
<li> Dim a As String
</li>
<li> Dim nomTable As String
</li>
<li> Dim nomClasseur As String
</li>
<li> Dim SQL As String
</li>
<li> Dim d As String
</li>
<li>
</li>
<li> m = Me!mois
</li>
<li> a = Me!année
</li>
<li> d = a & m
</li>
<li>
</li>
<li> DoCmd.SetWarnings False
</li>
<li>
</li>
<li nd="32"> nomClasseur = "D:\Eric\dossier_projets\TDB\PJPF\PJPF2007-" & a & m & ".xls"
</li>
<li> nomTable = "TableTest" & a & m
</li>
<li>
</li>
<li nd="33"> DoCmd.TransferSpreadsheet acImport, , nomTable, nomClasseur, 0
</li>
<li>
</li>
<li> 'Définir la requête
</li>
<li>
</li>
<li nd="34">SQL = "INSERT INTO Test ( OPPO, MPE, MPF, MRE, MRF, M__, année) " & _
</li>
<li nd="35"> "SELECT OPPO, MPE, MPF, MRE, MRF, M__, " & d & " AS année " & _
</li>
<li> "FROM" & name & _
</li>
<li nd="36"> "WHERE CBQD=""total"" AND MOIS=""total"" AND CMOP=""total"";"
</li>
<li>
</li>
<li> 'Exécuter la requête
</li>
<li> CurrentDb.Execute SQL
</li>
<li>
</li>
<li>Exit_Commande13_Click:
</li>
<li> Exit Sub
</li>
<li>Err_Commande13_Click:
</li>
<li> MsgBox Err.Description
</li>
<li> Resume Exit_Commande13_Click
</li>
<li>End Sub</li>
</ol>
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 23 mai 2007 à 10:40
Salut,
Peu être qu'en passant par un recordset, tu ne peux pas faire ceci.
Il te faut peu être faire une SELECT ET SEULEMENT APReS un INSERT INTO .... VALUES ....
darkspoilt
Messages postés254Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention10 octobre 2013 23 mai 2007 à 13:45
Merci ce code s'écécute mais plusieur fois je retrouve les meme données et je ne sais pas pourquoi voila le code complet et je ne sais pas s'ou ca vient
merci d'avance
Private Sub Commande13_Click()
On Error GoTo Err_Commande13_Click
Dim m As String
Dim a As String
Dim nomTable As String
Dim nomClasseur As String
Dim SQL As String
Dim d As String
m = Me!mois
a = Me!année
d = a & m
DoCmd.SetWarnings False
nomClasseur = "D:\Eric\dossier_projets\TDB\PJPF\PJPF2007-" & a & m & ".xls"
nomTable = "TableTest" & a & m
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 20091 23 mai 2007 à 14:00
Tu fais un INSERT INTO aussi je me demande si tu n'as pas lancé ton code plusieurs fois; tout bêtement.
Si pas, est-ce que les données en double se trouvent déjà dans ta table de base ? Si oui, soit il faut cleaner cette table-là soit faire une requête type SELECT DISTINCT
darkspoilt
Messages postés254Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention10 octobre 2013 23 mai 2007 à 14:33
J'ai trouvé le probleme cela se passe lros de mon import soit il faudrait que je vérifie l'existance de ma table soit j'écrase mon ancienne table mais je ne connais pas les méthode pour faire cela
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 23 mai 2007 à 15:43
Salut,
étant donné que les champs des deux tables o,t le même alias, il doit savoir
de quels champ il s' agit :
Dans la partie SELECT ou tu énumère les champs à ajouter tu prcèder
le nom du champ par le nom de la table ( & nomTable & "'![LeChp])
Tu t' es compliqué la tache en mettant le nom de la table dans une variable.
<hr />® l l i n g , l' agité du bocal :
Etre une heure, une heure seulement..Rien qu' une heure,
Vert, vert, vert et beau à la foooooooooooooooooooooooois.
pseudoOM
Messages postés173Date d'inscriptionjeudi 3 février 2005StatutMembreDernière intervention30 janvier 20091 23 mai 2007 à 16:22
Salut,
non il n'y aura pas d'erreur si la table est vide. C'est juste qu'il ne trouvera rien et donc il n'effacera rien. C'est comme si tu fesais un Select et qu'il ne te retourne rien, il n'y a pas d'erreur pour autant.