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 :
Pourquoi une valeur de type heure est ecrit dans ma table .. ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ma requete ajout plante pour la 3ème variable "SERVICE" ?
Merci d 'avance
Partager