[VBA]

_goni Messages postés 964 Statut Membre -  
blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   -
Salut,

J’ai un petit problème sur mon insert into. Tout d’abord, voici mon code
DoCmd.RunSQL ("insert into Tbl_Temp ([LibReclassement], [LibelleRubriqueDomaine], [NumeroCompte], [LibelleCompte], [Total], [Actival], [NonAffecte]) value (ValLibReclassement, ValLibelleRubriqueDomaine, ValNumeroCompte, ValLibelleCompte, ValTotal, ValActival, ValNonaffecte)")


Alors je me retrouve avec un message d’erreur qui dit
Erreur n°3134
Erreur de syntaxe dans l’instruction NSERT INTO


--
N’oubliez pas de cocher la case quand le problème est résolu
Configuration: Windows XP
Internet Explorer 6.0

12 réponses

  1. yyannd Messages postés 44 Statut Membre 4
     
    Problème de syntaxe c'est tout..

    Alors aussi stagiaire?
    0
  2. _goni Messages postés 964 Statut Membre 38
     
    Re,
    J'ai modifié un peu le code et je tombe sur une nouvelle erreur. Voici mon code :
    DoCmd.RunSQL ("insert into Tbl_Temp ([LibReclassement], [LibelleRubriqueDomaine], [NumeroCompte], [LibelleCompte], [Total], [Actival], [NonAffecte]) values (" & ValLibReclassement & ", " & ValLibelleRubriqueDomaine & ", " & ValNumeroCompte & ", " & ValLibelleCompte & ", " & ValTotal & ", " & ValActival & ", " & ValNonaffecte & ")")
    

    et maintenant cette erreur qu'il me met
    Erreur n°3075 :
    Erreur de syntaxe (opérateur absent) dans l’expression ‘champ1, champ2, champ3, champ4, , champ5)’.
    

    J'ai remplacé mes vrai valeurs par champ1, champ2...
    Le champ vide c'est juste un string ou j'ai mis une chaine vide.
    Pouvez vous m'éclairer sur mon erreur?
    0
  3. _goni Messages postés 964 Statut Membre 38
     
    Non, je ne suis pas stagiaire, je suis juste novice en base de données
    0
  4. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    quand tu mets un champ vide, il doit être entre "...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. _goni Messages postés 964 Statut Membre 38
     
    Ca marche pas en faite, je met juste avant ma requète, je fais
    If rs("Actival") <> Null Then
            ValActival = rs("Actival")
     Else
            ValActival = ""
    End If
    

    Comme tu peux le voir c'est une chaine vide et bien etre ""
    0
  7. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Tu feras attention de ne pas confondre la valeur Null avec le test est nul, car un truc comme If toto <> Null renvoie toujours false... (dixit la doc ACCESS)

    Alors que If IsNull(toto.value) Then renvoie true ou false selon la valeur...
    0
  8. _goni Messages postés 964 Statut Membre 38
     
    Re,
    Alors maintenant c'est une nouvelle erreur :
    Erreur n°94:
    Utilisation incorrecte de Null
    

    le code c'est :
    If IsNull(rs("Actival")) Then
            ValActival = rs("Actival")
    Else
            ValActival = " "
    End If
    
    0
  9. _goni Messages postés 964 Statut Membre 38
     
    Alors je me suis trompé, si je met ça, je dois inverser les lignes du if avec celle du Else mais je retombe encore sur cet erreur 3075
    0
  10. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Ce que tu peux faire, c'est déclarer une chaine, la remplir avec ta requête puis l'afficher avant de l'envoyer en exécution...
    Dim StrSql as String
    ...
    StrSql = "INSERT INTO "
    StrSql = "StrSql + "table ..."
    StrSql = StrSql + ";"
    Msgbox StrSql
    
    C'est ce que je fais systématiquement, de plus, j'encadre les valeurs par des simple-quote (') et non des doubles-quotes ("), ça évite l'empilage des "
    0
  11. _goni Messages postés 964 Statut Membre 38
     
    Oui mais ca ne change rien à mon problème, je n'arrive pas à me débarraser de cette erreur et si je met des (' ') alors je tombe sur l'erreur 94 que j'ai sité au dessus
    0
  12. _goni Messages postés 964 Statut Membre 38
     
    En plus ça ne doit pas venir de ma chaine vide car si je met par exemple "aaa" dans ma chaine qui était vide, j'ai la meme erreur 3075
    0
  13. blux Messages postés 2060 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Tu peux m'afficher le texte de te requête qui part à l'exécution ?
    0