IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

différence durée entre date jour/date champ


Sujet :

Access

  1. #1
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut différence durée entre date jour/date champ
    Bonjour,

    j'ai une petite question pour vous car on me l'a posé mais je ne sais pas y répondre et pour etre très honnete avec vous, je n'ai pas le temps de chercher Donc pour aider cette personne, j'ai dit que je ferais appel à vous.

    Une table possède un champ date_1ère et un champ difference_durée. Je voudrais mettre dans le champ difference_duree la différence des durées (en mois) entre la date du jour et la date du champ date_1ère.

    Je n'ai aucune idée de comment ça doit se faire. Je suppose quand meme que les 2 champs doivent etre des date time. Je ne sais pas s'il y a du code là dessous. Je ne sais pas si ça peut etre fait juste avec les propriétés de chaque champ dans le design view de la table.

    Bref, vous l'aurez compris, je ne sais pas grand chose à part le fait que j'ai besoin de vous

    Merci d'avance

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    Je ne sais pas si ça peut etre fait juste avec les propriétés de chaque champ dans le design view de la table.
    Non c'est pas la table que ça se passe mais dans le formulaire.

    date du jour : now
    calcul de difference : datediff

  3. #3
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    slt,

    tt d'abord merci pr ta réponse.

    alors j'ai regardé un peu la fonction DateDiff. Je veux la différence en mois entre la date du jour et la date du champ de ma table. Donc je crois que ça doit etre un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateDiff("mm", Now(), [nom du champ qui contient la date])
    Alors j'ai plusieurs questions:

    1. est ce que c'est bien comme ça que ça s'écrit (avec les crochets...) ?

    2. la personne qui m'a demandé cela n'utilise pas de formulaire d'après ce que je sais. Elle rentre directement les données dans la table. Donc si elle entre une date dans le champ date_1ère, est il possible que le champ difference_duree soit rempli automatiquement ?

    3. si la réponse est non à la 2ème question, comment faudrait il faire? faut il créer un formulaire avec les champs id, date_1ere et difference_duree ? et ds ce cas, à quel endroit je mets la formule DateDiff...? faut il que je clique droit sur le champ difference_duree et que je choisisse un evenement apres update du champ date_1ere ? et ds ce cas, je suppose que le DateDiff sera mis avec une partie en visual basic (que je ne sais pas faire...)

    Merci pour vos réponses

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    1 - oui
    2 - non, pas de trigger en access
    3 - que veux-tu faire de ce champ difference_duree? Il n'y a à priori pas d'intérêt à stocker un calcul qui change chaque jour.
    Si le champ doit être affiché ou utiliser dans une requête alors il faut mettre la formule avec datediff à cet endroit.

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    A mon avis il faut de placer au niveau des requêtes:

    Tu créer une requête basé sur ta table en question avec un champ:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Duree: DateDiff("m", Now(), [nom du champ qui contient la date])
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Duree: DateDiff("m", [nom du champ qui contient la date],Now())
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    ok merci pr vos réponses.
    j'essaye dès lundi et je vous tiens au courant.
    bonne fin de week end.

  7. #7
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    bonjour,

    alors dsl j'ai eu des pbs. Je ne comprends pas où utiliser DateDiff.

    Admettons que je fasse un formulaire avec 3 champs:
    - id de la personne
    - date_1ère
    - difference de durée

    je suppose qu'il faut donc que ds le champ difference durée, j'associe la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select DateDiff("mm", Now(), date_1ère) from table1
    mais je ne sais pas où je dois écrire cette requete. Si je clique droit ds le champ difference duree et que je vais dans propriétés, faut il que je mette comme control source le nom du champ de ma table où je veux qu'il y ait le résultat donc le champ différence durée ? et faut il que la requete que j'ai ecrite ci dessus, je la mette dans validation rule?

    voilà, dsl de pas comprendre très vite J'espère que vous pourrez m'aider.
    Merci
    Bonne journée

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    en fait il faudrait contourner le problème
    en enregistrant non pas datepremière et écart mais datepremière
    et datedujour
    il suffit de mettre pour le champ datedujour valeur par défaut à now
    et format date abrégée
    Elle est pas belle la vie ?

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    il faudrait déporter le problème en gérant deux champs
    datepremière et datejour
    il suffit alors de donner à datejour la valeur par défaut now()
    Elle est pas belle la vie ?

  10. #10
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    slt, merci pr les réponses.

    j'ai mis un champ date1 et un champ datejour dans ma table.
    ds mon formulaire, j'ai mis l'id, la date1, la datejour, la difference (qui n'existe pas ds la table mais je ne stockerai pas la valeur)
    J'ai fait sur le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Load()
    difference.Value = DateDiff("m", date1, Date)
    End Sub
    ça met bien la difference dans le champ difference du formulaire mais c'est tjs la meme alors que le date1 pr chaque id change.

    donc j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub difference_AfterUpdate()
     difference.Value = DateDiff("m", date1, Date)
    End Sub
    mais ça ne change rien.
    comment faire pr que la difference change en fonction de l'id?

    merci

Discussions similaires

  1. [JavaScript] Différence en nombre de jours entre deux dates
    Par SpaceFrog dans le forum Contribuez
    Réponses: 12
    Dernier message: 12/08/2017, 14h37
  2. Calcul de durée entre deux dates en années, mois, jours, heures, minutes, secondes et reste
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 02/10/2015, 12h31
  3. [11g] Différence entre deux dates (jour et heure)
    Par gerxwcv dans le forum SQL
    Réponses: 8
    Dernier message: 11/10/2013, 13h31
  4. Différence en nombre de jours entre deux dates
    Par PooSoft dans le forum Requêtes
    Réponses: 4
    Dernier message: 31/05/2012, 11h10
  5. Réponses: 3
    Dernier message: 03/02/2009, 14h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo