Bases de données Access

Fermé
JacquesLarochelle - 19 janv. 2009 à 23:03
smartway14 Messages postés 822 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 8 octobre 2011 - 26 mars 2009 à 12:05
Bonjour,
Je veux faire une base de données (Champs: Nom, Prénom, Date de début, Date de fin). La date de fin doit se calculer automatiquement 6 semaines après la date de début. J'ai testé la fonction DateAdd() mais sans résultats. Comment puis-je m'y prendre? Je veux que le calcul se fasse automatiquement à l'intérieur du formulaire de saisi. SVP ne soyez pas avare de détails et d'exemples. Je suis un sous-novice.

Merci de votre aide.

Jacques Larochelle

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
20 janv. 2009 à 10:13
Bonjour,

Une table ne peut recevoir de données issus d'un calcul sauf en utilisant VBA

ta table comporte donc ces champs:
identifiant (clé primaire), Nom, Prénom, date_debut

à propos évite des noms de champs avec des espaces, des accents, des apostrophes et autres signes de ponctuation; pour apparaitre "date de début" plus lisible que date_debut, utilise la propriété "légende"... De m^me une clé primaire identifiant un enregistrement est vivement conseillées ( par ex: plusieurs personnes de m^me nom).


Pour faire apparaitre la date fin 6 mois après

tu crées une zone de texte sur ton formulaire

et dans la propriété source, tu tapes cette expression
=AjDate("m";6;[date_debut])-1
0
JacquesLarochelle
20 janv. 2009 à 15:30
Bonjour,
Pour la zone de texte, je comprends. Mais comment faire pour que mon champ Date_Fin reçoive l'information du calcul?

Merci de votre aide.

Jacques Larocheclle
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
20 janv. 2009 à 15:49
je t'ai dit tout à l'heure qu'il fallait utiliser VBA pour cela!!!

Sinon, la table ne comporte pas de champ date_fin

si tu veux utiliser cette donnée 'date_fin" ailleurs (par ex dans un etat) tu crées une requete à partir de la table (SANS CHAMP DATE DE FIN) et tu crées dans cette requête une nouvelle colonne t dans la ligne champs tu écris
date_fin: AjDate("m";6;[f_datefact])-1

ensuite la source pour ton formulaire, ton etat, une sous-requete sera cette requête et non plus la table. quand tu ouvriras ta base dans le futur la date fin sera automatiquement calculée

maintenant si te ne connais pas du tout VBA je déconseilles de coller une procédure sans savoir le pourquoi du comment. mais c'est à toi de voir
0
JacquesLarochelle
20 janv. 2009 à 16:35
Bonjour,
Ma base de données est faite ainsi: Nom; Prénom; DateDébut; DateFin.

Je veux que DateFin se calcule automatiquement et se mette à jour. Je veux qu'il s'ajoute dans DateFin le valeur de DateDébut plus 6 mois.

Je ne comprends probalbement pas la nouvelle colonne dans une requête et ce que cela a à voir avec la mise à jour de mon champ DateFin.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
20 janv. 2009 à 16:58
Excuses de t'avoir dérangé en essayant de t'aider.
C'est promis, je n'interviendrai plus sur tes demandes d'aide.

Décourageant
--
0
JacquesLarochelle
20 janv. 2009 à 18:04
Bonjour,
Je suis désolé que vous preniez mon dernier message de cette façon.

Jacques Larochelle
0
gilou > JacquesLarochelle
20 janv. 2009 à 18:48
bonjour
pas bessoin d'acces tu fait comme suit
la cellule ou tu rentres la date tu fait f(x) regarde dans les fonctions choisie datel, la ccellule d'à coté tu tapes 42
dans une 3eme celll tu additionnes les 2 premieres ca doit marcher
a+ ps 42 c'est le nb de jours pour 6semaines
0
smartway14 Messages postés 822 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 8 octobre 2011 185
26 mars 2009 à 12:05
créez une requette sous ce table puis faite apparaitre les champs qui vous intéressent dans le grille du bas
dans un champ supplémentaire tapez la formule de calcul suivante:date de fin:[date de début]+[42]
42c'est 6*nombre de jours d'une semaine
0