IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

[2007]Erreur de syntaxe injustifiée dans DoCmd.RunSQL


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut [2007]Erreur de syntaxe injustifiée dans DoCmd.RunSQL
    Bonjour à tous,

    Un pb qui s'est résolu "tout seul" ou presque mais dont je n'ai pas l'explication, et qui donc, pourrait se reproduire.
    Je gère mes documents via Access.
    A partir d'une requete enregistrée par le formulaire de recherche multicritères je peux faire un certain nombre d'opérations sur la liste de fichiers décris dans cette requête et, en l'occurence, je peux sauvegarder ces fichiers.
    Je copie chaque fichier dans le répertoire désigné en début de processus, j'inscris dans la fiche de ce document l'endroit où j'ai sauvegardé et enfin j'écris un mouvement dans une tblMouvement.
    Ca marche pour 500 fichiers mais pas pour 2.
    L'écriture du mouvement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function fctMvmtInsert(ByVal TypeMvmt As String, ByVal Docnum As Long, ByVal FichierAvant As String, ByVal FichierApres As String)
    Debug.Print "fav " & FichierAvant
    Debug.Print "fap " & FichierApres
    Dim SQLinsMvt As String
    SQLinsMvt = "INSERT INTO tblMouvement (TypeMvmt, Docnum, MvmtDate, Acteur, FichierAvant, FichierApres) " & _
                    "VALUES ('" & Replace(TypeMvmt, " ", "") & "', " & Docnum & ",  " & Chr(35) & Date & " " & Time() & Chr(35) & ",'" & Application.CurrentUser & "','" & Replace(FichierAvant, "'", "''") & "', '" & Replace(FichierApres, "'", "''") & "')" & ";"
    Debug.Print SQLinsMvt
        DoCmd.RunSQL SQLinsMvt
    End Function
    Donne une erreur de syntaxe 3075 et me désigne le chemin du fichier à sauvegarder (fav deans le debug)
    Le debug.print me donne
    fav E:\Mes documents\Access\tblConventions.xls
    fap E:\Poubelle\tblConventions.xls
    INSERT INTO tblMouvement (TypeMvmt, Docnum, MvmtDate, Acteur, FichierAvant, FichierApres) VALUES ('Sauvegarde', 175, #28/09/2007 10:08:48#,'Admin','E:\Mes documents\Access\tblConventions.xls
    avec une chaine INSERT INTO qui est interrompue après le nom du fichier.
    Un debug.print normal me donne:
    fav E:\Mes documents\Access\autoextensible.pdf
    fap E:\Poubelle\autoextensible.pdf
    INSERT INTO tblMouvement (TypeMvmt, Docnum, MvmtDate, Acteur, FichierAvant, FichierApres) VALUES ('Sauvegarde', 2, #28/09/2007 10:08:47#,'Admin','E:\Mes documents\Access\autoextensible.pdf', 'E:\Poubelle\autoextensible.pdf');
    Cette erreur s'est produite pour 2 fichiers : tblConventions.xls et Suivi_démarche.xls.
    Ce que j'ai fait:
    J'ai renommé les fichiers en tbl Conventions et Suivi démarche (avec espace). J'ai modifié en conséquence mes champs Fichier et recommencé la manip: pas de pb.
    Je suis retourné aux anciens noms et du coup ça marche!

    Avez vous un avis la dessus?
    Merci de votre attention

  2. #2
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut
    J'avais plein d'espaces dans mon champ fichier, je ne sais pas d'où il viennent.
    INSERT INTO tblMouvement (TypeMvmt, Docnum, MvmtDate, Acteur, FichierAvant, FichierApres) VALUES ('Sauvegarde', 175, #28/09/2007 10:54:00#,'Admin','E:\Mes documents\Access\tblConventions.xls---ici tout plein de vilains espaces--- ', 'F:\JCYSauveGed\tblConventions.xls');
    La maj de ce champ a eu pour effet de supprimer les espaces donc plus d'erreur.
    (Il me semble avoir déjà lu, ou même rencontré ce pb, je m'en vais fouiner)

  3. #3
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut
    On en parle ici. Entre autres.
    J'aimerai savoir pourquoi ça dérange DoCmd.RunSQL?

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/12/2014, 14h49
  2. Réponses: 1
    Dernier message: 14/09/2007, 16h50
  3. erreur de syntaxe sql dans vba
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/12/2006, 18h23
  4. [JSP]Erreur de syntaxe dans un tag <option select
    Par logica dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 03/05/2005, 14h33
  5. erreur de syntaxe javascript dans ma page
    Par Oluha dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/02/2005, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo