Bonjour à tous, et merci pour toute la doc en ligne qui m'a permis de mettre sur pied mon petit projet.
Je suis en train de construire sous Access2007 une base qui référencent des spécimens, des lignées ainsi que leurs suivis photos avec observations. La base en elle même est construite et je peux dors et déjà basculer toute mes vieilles données Excel dessus. Mes besoins étant minimes (j'ai quand meme pas mal ramé sur des décisions concernant diverses approches avec les photos...), la base est assez épurée.
Je butes sur un problème de calcul de date. Après plusieurs essais divers et variés, j'ai opté imbécilement pour un code événement sur les zones textes des formulaires. Le code VBA marche au poil et affiche ce qu'il faut au bon endroit... seulement les données ne sont à jour qu'en employant les formulaires "équipés" en ajout ou modification.
Je ne sais sur quel solution m'orienter pour que le calcul de date/jours soit "sédentaire" sur une table. Intégré dans le champ lui même?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Timeline_GotFocus() 'calcul nb jours Timeline avec date1 If Not IsNull(Fin) Then Me![Timeline].Value = DateDiff("d", Me![Debut], Me![Fin]) Else Me![Timeline].Value = DateDiff("d", Me![Debut], Me![Aujourdhui]) End If End Sub
Peut on insérer du code en tant que "valeur par défaut" autrement que par l'assistant ? (pour recycler le code ci haut qui m'a donné des sueurs n'ayant jamais fait de VBA auparavant... je ne saurais pas écrire la même chose en SQL ou avec l'assistant "..." )
Je ne sais pas trop si je dois créer une table gérant tout le système de date (c'est pas trop pour mon utilisation très basique?) de la base, ou bien m'orienter vers le SQL ou encore .... HELP!
Normalement on fait quoi dans ce cas là ?
Merci d'avance et bonne continuation !
Partager