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 :

formulaire et calculs de date


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 28
    Points
    28
    Par défaut formulaire et calculs de date
    bonjour,
    dans un formulaire,
    j'ai une zone de texte(Date_derniere_MAJ) dans laquelle je rentre une date au format jj/mm/aaaa
    j'aimerais que dans le meme formulaire avoir une autre zone de texte(Date_Validite) dans laquelle s'inscrive automatiquement une date de validité, soit dans le cas requis +1an.
    en tant que super débutant je suis un peu largué...et les tutos et autres faq me semblent le langage d'une autre planète..
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Dans le source controle de ton deuxième controle tu peux mettre
    =Date+365
    Où date est la date à laquelle tu veux ajouter un an.
    Sinon penche toi sur la méthode serialdate (F1)

  3. #3
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    regarde plutôt du côté de DateAdd()
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Citation Envoyé par cafeine
    Hello,

    regarde plutôt du côté de DateAdd()
    Je l'avais oubliée celle là

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 130
    Points : 70
    Points
    70
    Par défaut
    Bonsoir

    Un Code qui ma été donner sur le forum

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =jour([madate1]) & "/" & mois([madate1]) & "/" année([madate1])+1
    @ +
    Ric21

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    certe, je ne suis surement pas trés doué..mais avec ça je n'arrive à rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Date_Validite_Click()
    Dim Date_derniere_MAJ As Date
    Dim Date_Validite As Date
    Me.Date_derniere_MAJ = x
    Me.Date_Validite = z
    z = DateAdd("y", 1, "x")
    End Sub
    surtout si quelqu'un m'aide, qu'il m'explique ce qui ne va pas..
    je crois déja que c'est sur le choix de l'évènement..en fait je voudrais que ce soit automatique...cad que la date de validité s'actualise dès que la date de derniere MAJ est entrée

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    décidemment...
    je seche..
    je n'arrive visiblement pas à déclarer les bonnes variables
    la seule chose qui varie, c'est "Date_derniere_MAJ " !!!
    je n'y comprends rien..
    en meme temps c'est ma premiere bdd...seul
    Help

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    bon,...
    deux heures plus tard j'en suis là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Date_Validite_Click()
    Dim Date_derniere_MAJ As Integer
    Dim Date_Validite As Integer
    x = Me.Date_derniere_MAJ
    Me.Date_Validite = DateAdd("y", 1, "x")
    End Sub
    maintenantdans la ligne: Me.Date_Validite = DateAdd("y", 1, "x")
    x prends bien la valeur de derniere MAJ..
    mais après ....?impossible d'affecter une valeur à: Date_Validite
    si quelq'un avait une explication....?

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Date_Validite_Click()
        Dim x As Date
     
        If IsDate(x) Then
            x = Me.Date_derniere_MAJ
            Me.Date_Validite = DateAdd("y", 1, x)
        End If
    End Sub
    Je t'ai rajouté un petit test au cas où le contrôle Date_derniere_MAJ ne serait pas correctement renseigné.

    Donc tu attribues à la variable x la valeur du contrôle Date_derniere_MAJ.
    Ensuite tu utilises la fonction DateAdd pour lui ajouter 1 année.
    Argument "y":
    La chaîne de caractère "y" permet de spécifier que l'ajout est basé sur un multiple d'une année.
    Argument 1:
    On précise le nombre d'années à ajouter.
    Argument x:
    Ici x est une variable. La valeur de cette variable est utilisée pour effectuer l'opération.

    Ton erreur était d'encadrer le x avec des guillemets.
    Dans ce cas, ton argument est évalué comme une simple chaîne de caractères.

  10. #10
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Je me suis un peu précipité...
    Citation Envoyé par Poor_Beginner
    surtout si quelqu'un m'aide, qu'il m'explique ce qui ne va pas..
    je crois déja que c'est sur le choix de l'évènement..en fait je voudrais que ce soit automatique...cad que la date de validité s'actualise dès que la date de derniere MAJ est entrée
    Alors tu dois mettre ton code dans la procédure événementielle BeforeUpdate du contrôle Date_derniere_MAJ.

    Décodage en clair:
    Dans le contrôle Date_derniere_MAJ, tu saisis une date de MAJ.
    L'événement BeforeUpdate de ce contrôle est déclenché avant que la nouvelle valeur ne soit enregistrée .
    Tu te "branches" sur cet événement pour ajuster la valeur du contrôle Date_validite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Date_derniere_MAJ_BeforeUpdate()
        Dim x As Date
     
        If IsDate(x) Then
            x = Me.Date_derniere_MAJ
            Me.Date_Validite = DateAdd("y", 1, x)
        End If
    End Sub

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    c'est parfait, super!!
    merci beaucoup,
    j'étais pas tres loin..
    j'ai été induit en erreur par l'aide F1 de DateAdd car la syntaxe et les guillements ne sont pas tres clairs...pour le néophyte...et dans le cas présent des guillements sont présents pour l'argument qui correspondt a mon"x".
    De plus j'ai modifié "y" en "yyyy" pour avoir non pas le jour de l'année, mais la valeur de l'année...
    quand à la procédure événementielle BeforeUpdate c'est super!!!
    encore merci

  12. #12
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Si ça marche, tant mieux .

    Toutefois, un petit conseil en passant.
    Dans l'éditeur de code VB, tu devrais "activer" le contrôle obligatoire des déclarations de variable.
    Ceci te protègera contre les oublis.

    A la première ligne du module de code, il faut ajouter l'option Explicit qui demande au compilateur de vérifier que tous les noms de variables utilisés dans le code font l'objet d'une déclation préalable (instructions Dim, Public, Private):
    Si tu veux que cette option soit systématiquement/automatiquement ajoutée, tu peux le spécifier dans les options de l'éditeur:

    Pour ouvir la boîte de dialogue [Options], exécuter la commande:
    Outils >> Options...
    Dans l'onglet [Editeur], cocher [Déclaration des variables obligatoire].

    Tu verras, cette "rigueur" te fera gagner du temps.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 28
    Points
    28
    Par défaut
    encore merci........tous les conseils sont les bienvenus..
    A bientôt

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

Discussions similaires

  1. Relations, sous formulaires et calcul de date
    Par may.hona dans le forum Modélisation
    Réponses: 6
    Dernier message: 13/06/2007, 11h44
  2. COUNT + Calcul de DATE
    Par cassi2 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/10/2004, 16h35
  3. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  4. SCRIPT CALCULANT LA DATE
    Par Redouane dans le forum ASP
    Réponses: 3
    Dernier message: 17/03/2004, 09h10
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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