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 :

Minimum entre deux dates


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Minimum entre deux dates
    Bonjour à tous!

    Ceci est mon premier post...

    Je souhaite afficher dans le champ calculé d'un formulaire, la valeur de la date minimum entre le champ "Date A" et le champ "Date B" d'une table "Dates" pour lesquels les enregistrements correspondent à celui de mon formulaire. J'avais pensé à un truc du genre :

    =Min((Dmin("Date A", "Dates", "Condition qui sélectionne les dates correspondant à l'enregistrement actuel du formulaire")) ; (Dmin("Date B", "Dates", "Condition qui sélectionne les dates correspondant à l'enregistrement actuel du formulaire")))
    Mais ça ne marche pas...

    Sinon, pour faire plus simple, j'ai déja trouvé la fonction qui permettait d'afficher la date mini de "date A" dans un champs calculé (Fonction Dmin avec condition qui spécifie l'enregistrement). De meme pour celui qui trouve le mini de "Date B".
    Dans ce cas ma question serait : Comment écrire une fonction qui trouve la date minimum entre deux champs "Champ A" et "Champ B" d'un formulaire.

    J'espère que ma question est assez claire...

    D'avance merci.

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Sert toi de la fonction DateDiff()

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Tu peux aussi utiliser une petite fonction VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function Mini(date1 as date,date2 as date) as date
    If date1>date2 then 
    mini=date2
    else
    mini=date1
    end if
    end function
    Et ensuite dans un controle :


  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Un grand merci à vous deux!!

    La solution de tofalu me semble plus interessante.

    Je ne connais pas bien acces... Il me suffit de copier coller ta fonction dans la fenetre VBA mais a quel endroit exactement? Dans le code du formulaire dans lequel se trouvera le champ calculé?

    Dans ce champ ensuite, me sera-t-il possible de faire mini(dmin(... ; ... ; ...) ; dmin(... ; ... ;... ))??

  5. #5
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 125
    Points : 128
    Points
    128
    Par défaut
    il existe également la fonction vraifaux q'on compose avc la fonction min ou dmin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    vraifaux(min([datea])<min([dateb])  ; min([datea]);min([dateb]))
    [/code]

  6. #6
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Well...

    J'ai essayé la solution qui me semble la plus pertinente et cela fonctionne lorsque les deux champs de date à comparer dans le formulaire ne sont pas vides. Dans le cas contraire, le champ calculé indique #error.

    Voici le code que j'ai utilisé, pourriez-vous me dire pourquoi cela ne fonctionne pas?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Public Function Mini(date1 As Date, date2 As Date) As Date
    If date1 = 0 Then
        If date2 = 0 Then
            Mini = ""
        Else
            Mini = date2
        End If
    Else
        If date2 = 0 Then
            Mini = date1
        Else
            If date1 > date2 Then
                Mini = date2
            Else
                Mini = date1
            End If
        End If
    End If
    End Function

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 336
    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 336
    Points : 19 571
    Points
    19 571
    Billets dans le blog
    65
    Par défaut
    Salut,

    Utilise la fonction nz:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat= Mini(nz([date1],0), nz([date2],0))
    @+
    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

  8. #8
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup à tous!!
    J'ai fait un mix de vos conseils et ça fonctionne!!

    Allez, comme dirait l'ours : A pluches!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Minimum entre deux colonnes
    Par keikun dans le forum Requêtes
    Réponses: 5
    Dernier message: 18/08/2005, 13h20
  2. Différence entre deux dates
    Par pittzz dans le forum Oracle
    Réponses: 5
    Dernier message: 18/07/2005, 12h24
  3. Comment obtenir la différence entre deux dates ?
    Par jbat dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2005, 09h34
  4. Calcul entre deux dates heures
    Par Isa31 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 31/03/2005, 13h17
  5. comment obtenir l’intervalle de mois entre deux date
    Par looc 6699 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/02/2005, 11h08

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