Détection d'un champ date non renseigné dans Access
Kerynette
Messages postés4Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention10 mai 2007
-
10 mai 2007 à 10:00
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 2011
-
11 mai 2007 à 08:46
Bonjour,
Je voudrais, si une date n'est pas renseignée dans Access qu'il m'affiche une phrase au lieu d'une autre...
Seulement je n'arrive pas à détecter l'absence de date. Dans le formulaire, ca m'ecrit: #erreur dans la zone de texte.
J'ai tenté avec IsNull et IsEmpty et ça ne fonctionne tjrs pas.
Voici mon code actuel:
Public Function RepCie(stDate As Date) As String
If IsEmpty(stDate) Then
RepCie = "A ce jour, aucun document justificatif n'est parvenu à l'Autorité de Contrôle des Nuisances Sonores Aéroportuaires."
Else
RepCie = "Par courrier daté du " & CStr(stDate) & " adressé à l'Autorité de Contrôle des Nuisances Sonores Aéroportuaires, la compagnie déclare: " & Chr(13) & Chr(10) & [Reponse Cie]
End If
End Function
Si quelqu'un avait la solution, je lui en serais très reconnaissant !
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 10 mai 2007 à 13:39
Comme je t'ai dis, tu mets un point d'arret, tu executes et sur le ligne, tu pointes la souris sur stDate.value et normalement VB te donne la valeur (ou un message d'erreur) sous forme d'infos bulle.
La, tu pourrais voir ce que vaut ta date et ainsi mettre la bonne valeur de test.
Kerynette
Messages postés4Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention10 mai 2007 10 mai 2007 à 15:08
J'ai mis un point d'arrêt et lorsque que le champ date est renseigné dans la base, l'info bulle me donne bien la date au survol de stDate.
Par contre, lorsque le champ de date n'est pas renseigné, visiblement la fonction ne s'excecute meme pas, donc aucun moyen de savoir ce qu'il se passe.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 10 mai 2007 à 15:32
Tu as aussi des propriété dans ton champ. Si tu va dans ta table access en mode création et que tu cliques sont le champ en question, as tu une option null autorisé ou pas.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 10 mai 2007 à 16:02
Bonjour,
une solution peut être
Passes à ta fonction le contenu de ta Zone de texte
Public Function RepCie(stDate As String) As String
Dim sDate As Date
On Erreur Goto Err_Date
sDate=CDate(stDate)
RepCie = "Par courrier daté du " & CStr(sDate) & _
" adressé à l'Autorité de Contrôle des Nuisances Sonores Aéroportuaires," & _
" la compagnie déclare: "
Exit Function
Err_Date:
RepCie = "A ce jour, aucun document justificatif " & _
"n'est parvenu à l'Autorité de Contrôle des Nuisances Sonores Aéroportuaires."
Kerynette
Messages postés4Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention10 mai 2007 10 mai 2007 à 16:34
@Nicko11:
Je parlais bien de Function RepCie qui ne s'exécute pas.
Quand au propriétés du champ de date concerné, j'avais bien vérifié, le Null est autorisé.
@chaibat05:
J'avais testé qqch de similaire mais même de cette façon ça ne fonctionne tjrs pas.
J'ai également tenté de faire une fonction sans paramètre et d'appeler directement le champ par l'intermediaire d'une variable interne affectée de la valeur de ce champ mais tjrs un résultat négatif.
Y aurait t il une fonction du genre: If stDate existe Then...?
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 10 mai 2007 à 17:12
le problème avec un champ date dans une textbox,
c' est que le contenu du textbox n' est jamais null même s' il est vide.
c' est à dire que TextBox.Text=Null est erroné
Si tu peux montrer la chose similaire que tu as fait,peut être qu' on pouura
aller dans ce sens
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 11 mai 2007 à 08:45
Je pense que tu devrais voir ton problem différemment
Il faudrait plutot te concentrer au niveau de la table plutot que t'as fonction.
Par un dlookup par exemple sur la ligne où se trouve ta date.
ex:
if dlookup("stDate","Table","ID = N° permettant de retrouver la ligne") <> null then
msgbox "oui"
else
msgbox "non"
end if