[VBA]

_goni Messages postés 964 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27117 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

12 réponses

yyannd Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   4
 
Problème de syntaxe c'est tout..

Alors aussi stagiaire?
0
_goni Messages postés 964 Date d'inscription   Statut Membre Dernière intervention   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
_goni Messages postés 964 Date d'inscription   Statut Membre Dernière intervention   38
 
Non, je ne suis pas stagiaire, je suis juste novice en base de données
0
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,

quand tu mets un champ vide, il doit être entre "...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
_goni Messages postés 964 Date d'inscription   Statut Membre Dernière intervention   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
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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
_goni Messages postés 964 Date d'inscription   Statut Membre Dernière intervention   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
_goni Messages postés 964 Date d'inscription   Statut Membre Dernière intervention   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
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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
_goni Messages postés 964 Date d'inscription   Statut Membre Dernière intervention   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
_goni Messages postés 964 Date d'inscription   Statut Membre Dernière intervention   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
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Tu peux m'afficher le texte de te requête qui part à l'exécution ?
0