Bonjour, et très bonne année à tous !
Nous demandons aux professionnels de santé adhérents à notre assoc de réaliser tous les ans un bilan médical pour chaque patient. C'est nous qui devons envoyer cette demande au bon moment (date anniversaire du dernier bilan) aux médecins, pour qu'ils la remplissent et nous la renvoie.
J'ai fait un petit module access qui permet de gérer une liste de bilans qui auraient dû nous parvenir (si date du dernier bilan + 365 < date actuelle, une alerte apparait dans la liste). Cette liste indique également la date à laquelle nous avons relancé un médecin pour la dernière fois, et pour quel patient.
Une fonction permet de générer automatiquement un courrier de relance, et ajoute automatiquement une date de relance. Mais j'ai un bug : ce code va chercher dans une zone de liste (Me.Lst_Bilans_Medicaux)
- le numéro d'un patient ([NumeroPatient]),
- la date de son prochain bilan médical ([DateAttenteBilanMedical]),
- la date de la dernière relance pour ce bilan
et va copier ces infos dans une autre table : [T_Retour_Bilans_Medicaux_Demandes]
voici une partie du code :
la variable choixdate est récupérée d'une msgbox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim varitem As Variant Dim nbselection As Long For Each varitem In Me.Lst_Bilans_Medicaux.ItemsSelected DoCmd.RunSQL "INSERT INTO T_Retour_Bilans_Medicaux_Demandes (NumeroPatient,DateAttenteBilanMedical,DateEnvoiBilanMedical) VALUES ( " & Me![Lst_Bilans_Medicaux].Column(0, varitem) & " , #" & Me![Lst_Bilans_Medicaux].Column(9, varitem) & "# , " & choixdate & " );" nbselection = nbselection + 1 Next varitem End If
Ce code marche bien, sauf si un patient n'a jamais eu de bilan médical (donc Me![Lst_Bilans_Medicaux].Column(9) est vide pour cette ligne). La boucle se bloque ("erreur de synthaxe dans l'expression '##'"). L'instruction SQL ne peut-elle pas insérer une valeur nulle pour une date dans une autre table?
ya-t-il un moyen d'éviter ça?
merci
Partager