Bases de données Access

JacquesLarochelle -  
smartway14 Messages postés 857 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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
 
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 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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
 
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 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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
 
Bonjour,
Je suis désolé que vous preniez mon dernier message de cette façon.

Jacques Larochelle
0
gilou > JacquesLarochelle
 
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 857 Date d'inscription   Statut Membre Dernière intervention   186
 
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