Requete SQL AJOUT INSERT INTO doute sur la Syntaxe
Bonjour,
Je tourne en rond depuis un moment et j 'aimerais avoir un coup de pouce ..
J ai récupéré une application Planning téléchargé ici et tente de modifier une procédure.
Lorsque je double clique sur un contrôle du formulaire (Matrice planning) , la fonction "OuvrirFormSaisie()" est appelé.
Le code plante sur la commande de requête ajout qui tente d'ajouter 3 valeurs à une table T_PLANNING.
En revanche elle fonctionne avec une variable à ajouter : db.Execute "INSERT INTO T_Planning (Matricule) SELECT " & Id & ";"
Elle écrit une valeur erroné pour la date ici : db.Execute "INSERT INTO T_Planning (Matricule,DateJ,Service) SELECT " & Id & " ," & DateJ & ";" ' ici "Date j" renvoie une valeur ressemblant une valeur de type "heure" (ex : 00:01:11)
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Public Function OuvrirFormSaisie(j As Integer)
Dim db As Database
Dim DateJ As Date, Id As Variant, Fld As String, Service As String
Set db = CurrentDb()[/B]
Id = Forms!f_planning!SF_Planning.Form!Champ1
DateJ = DateSerial(Forms!f_planning!An, Forms!f_planning!Mois, j) ______________________________________ 'Fonction renvoyant une valeur de date
Service = Forms!f_planning!SERVICE_LM ______________________________________ 'Valeur contenue dans une liste modifiable presente dans le formulaire
db.Execute "INSERT INTO T_Planning (Matricule,DateJ,Service) SELECT " & Id & " ," & DateJ & " ," & Service & ";" __________________ 'L'éditeur Vba comprend pourtant bien les valeurs de variables , vérifié grâce à une commande Msgbox.
[B]MajPlanning
Set db = Nothing
End Function |
Pourquoi une valeur de type heure est ecrit dans ma table .. ?
Pourquoi ma requete ajout plante pour la 3ème variable "SERVICE" ?
Merci d 'avance