Rechercher : dans
Par :

[Access 2007] Message d'erreur sur formulaire

Dernière réponse le 26 mar 2008 à 13:44:00 CaPiT, le 19 mar 2008 à 09:38:31 
 Signaler ce message aux modérateurs

Bonjour à tous.

J'ai un petit soucis avec ma base de données Access, j'espère que vous pourrez m'éclairer sur un point.

Je m'explique: j'ai un formulaire "personnel et formation" contenant les coordonnées du personnel ainsi qu'un sous-formulaire "formation". Ce sous-formulaire permet grâce à une liste déroulante de sélectionner la "formation" et sa "durée de validité" (donc une liste avec 3 colonnes si on inclue la clé ;) )ainsi que la "date de passage" de cette formation, son "tarif"..etc.
J'ai ensuite intégré des calculs pour que grâce à la "date de passage", la "date du jour", et la "durée de validité" (présente dans la liste) je puisse calculer la "date de fin de formation" et le "nombre de mois restant" (Le calcul étant contenu dans la propriété "source de contrôle". Jusque là, (j'espère que vous avez tous suivit :D) tout marche nickel.

Mon problème est donc le suivant: lorsque dans la liste déroulante, il n'y a rien de sélectionner (par exemple la dernière ligne du sous-formulaire qui permet de saisir un nouvel enregistrement, est toujours vide), un message d'erreur "#Erreur" apparait au niveau du champs "date de fin de formation" et "nombre de mois restant", exactement où sont présents les calculs. Je pense que le problème vient du fait que ces 2 champs attendent des valeurs pour établir les calculs et puisqu'il n'y a rien de saisie dans la liste déroulante, cette erreur s'affiche.

J'ai essayé de remédier à ce problème grâce à la propriété "Message si erreur" ou encore en essayant d'intégrer des "SI" dans la source de contrôle, en vain...

J'espère que quelqu'un pourra m'aider. Merci à vous, je suis tout ouïe.

Configuration: Windows XP
Firefox 2.0.0.12

1

LatelyGeek, le 20 mar 2008 à 19:07:06

Ca serait cool que tu nous donnes la formule exacte contenue dans les champs qui te donnent #Erreur, histoire qu'on puisse voir ce qu'il pourrait y avoir à améliorer... Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

2

CaPiT, le 25 mar 2008 à 20:34:45

Alors voilà ou il y a les 2 erreurs:

- date de fin de formation : =AjDate("m";[Durée formation];[Date_Passage])
- nombre de mois restant : =DiffDate("m";Date();[Date Fin de formation])

Je rappelle qui sont tout à fait fonctionnel sauf quand il n'y a rien de sélectionner (dans la liste déroulante ou sont présents les champs "N_formation" "Nom_formation" et "Date Fin de formation").

Voilà, je sais pas si ça pourra beaucoup vous aider.
Bonne soirée.

Répondre à CaPiT

3

LatelyGeek, le 25 mar 2008 à 21:23:24
  • +1

Où as tu mis tes "si"?

J'essayerais bien un
- date de fin de formation : =VraiFaux(EstNull([Durée formation]);"";AjDate("m";[Durée formation];[Date_Passage]))

Chez moi ça marche, en tout cas... Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

4

CaPiT, le 26 mar 2008 à 10:25:56

Lorsque j'ai dis que j'ai mis des "Si", j'ai juste dit que j'avais essayé d'en mettre pour effectuer des tests, en vain.

Concernant ce que propose plus haut:

- date de fin de formation : =VraiFaux(EstNull([Durée formation]);"";AjDate("m";[Durée formation];[Date_Passage]))

Puis aussi par logique :
- nombre de mois restant : =VraiFaux(EstNull([Durée formation]);"";DiffDate("m";Date();[Date Fin de formation]))

Et bien ça marche nickel ^^
Merci encore à toi LatelyGeek, ce n'est en plus pas la 1ère fois que je bénéficie de ton aide.

Bonne journée, continuez comme ça ;)

Répondre à CaPiT

5

 LatelyGeek, le 26 mar 2008 à 13:44:00

Je t'en prie, c'est quand tu veux! Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek
Collection CommentÇaMarche.net