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

IHM Discussion :

Compaprer 2 champs au format date uniquement sur le mois et l'année [AC-2003]


Sujet :

IHM

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut Compaprer 2 champs au format date uniquement sur le mois et l'année
    Bonjour,

    Je souhaite pouvoir comparer 2 dates mais uniquement le mois et l'année.

    J'ai des conditions qui s'applique. Si une date est égale à une autre alors.. ou si differente alors...

    Pour cela je me base sur les conterole présent dans mon formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.DATE_D_EFFET_droit_de_base = Me.DATE_D_EFFET_droit_complémentaire....
    Je me demande si il est possible de venir comparer des dates seulement sur le mois et l'année. Le jour n'ayant pas d'importance. Si mois et année sont égaux mais le jour est différent alors ca ne change rien... Si et seulement si mois et/ou année sont differents entre deux données (2 controles comparé)

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Une méthode consiste à convertir tes dates au premier jour du mois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dateserial (year(madate);month(madate);1)

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Points : 129
    Points
    129
    Par défaut
    Bonjour,

    Merci pour ta réponse. Cette méthode est pratique j'avoue. Je viens de la tester et ca marche. Le problème c'est que je ne sais pas encore si je vais pouvoir venir modifier la valeur de la date. Elle devra peut être rester comme elle est. Si j'utilise cette méthode ma date sera modifiée et je perdrais celle de départ.

    Je me demande donc si il est possible d'appliquer cette méthode en stockant la date modifiée dans une variable. Mes conditions ne s'appliqueraient plus sur des contrôles mais sur des variables qui contiendraient la date dont le jour aura été mis à 1.

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Dim DateB1 As Variant, DateC1 As Variant, DateB2 As Variant, DateC2 As Variant
    Dim DateMTP As Variant, DateRC As Variant
     
    DateB1 = Me.DATE_D_EFFET_droit_de_base.Value
    DateC1 = Me.DATE_D_EFFET_droit_complémentaire.Value
    DateB2 = Me.NouvelleDateEffetDB.Value
    DateC2 = Me.NouvelleDateEffetDC.Value
    DateMTP = Me.DateEffetMTP.Value
    DateRC = Me.DateEffetRC.Value
     
    If Not IsNull(DateB1) Then
    DateB1 = DateSerial(Year([DATE D'EFFET droit de base]), Month([DATE D'EFFET droit de base]), 1)
    Else
    End If
    If Not IsNull(DateC1) Then
    DateC1 = DateSerial(Year([DATE D'EFFET droit complémentaire]), Month([DATE D'EFFET droit complémentaire]), 1)
    Else
    End If
    If Not IsNull(DateB2) Then
    DateB2 = DateSerial(Year([NouvelleDateEffetDB]), Month([NouvelleDateEffetDB]), 1)
    Else
    End If
    If Not IsNull(DateC2) Then
    DateC2 = DateSerial(Year([NouvelleDateEffetDC]), Month([NouvelleDateEffetDC]), 1)
    Else
    End If
    If Not IsNull(DateMTP) Then
    DateMTP = DateSerial(Year([DateEffetMTP]), Month([DateEffetMTP]), 1)
    Else
    End If
    If Not IsNull(DateRC) Then
    DateRC = DateSerial(Year([DateEffetMTP]), Month([DateEffetMTP]), 1)
    Else
    End If
    End Sub
    Voici ce que j'ai essayé mais cela ne marche pas... Ma démarche est t-elle bonne ou je dois completement revoir mes déclarations...

    [EDIT]
    Finalement tout à l'air de fonctionner. Lors de mes tests les champs ne s'étaient pas mis à jour lorsque je modifiais les dates. J'avais donc l'impression que mes conditions ne s'appliquaient pas.

    grand merci en tout cas !!

    bonne continuation

  4. #4
    Invité
    Invité(e)
    Par défaut
    Tant mieux si tu as trouvé une solution .
    Par contre je n'avais pas préconisé de remplacer une date, mais de la convertir dans ta condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf(DateSerial(Year(Me.Champ1]),Month(Me.[Champ1),1)=DateSerial(Year(Me.champ2),Month(Me.champ2),1),.....
    Bon développement

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

Discussions similaires

  1. filtrer un champ date, uniquement sur l'année
    Par kasrimus dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/02/2012, 14h14
  2. [AC-2007] Gérer un champ date uniquement sur l'année ?
    Par tibofo dans le forum Modélisation
    Réponses: 3
    Dernier message: 12/07/2010, 09h51
  3. [VS2005] Format date courte sur databinding
    Par s.n.a.f.u dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/03/2007, 13h19
  4. [MySQL] Tri sur champ au format date - uniquement mois/année
    Par skippy86 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/01/2007, 11h27
  5. [Format Date] erreur sur insertion d'une date
    Par philobedo dans le forum SQL
    Réponses: 4
    Dernier message: 14/06/2005, 10h41

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