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 :

Calcul automatique des champs date a partir de la valeur de deux autres champs


Sujet :

Access

  1. #21
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Salut en PJ un fichier.
    J'ai modifié le code car il y avait des erreurs dans le code precedent ( trop de choses en meme temps....
    a tester sur ton PC.
    Tiens moi au courant..
    ++
    Fichiers attachés Fichiers attachés

  2. #22
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonsoir,

    j’essayerais des demain matin et je vous donnerais des nouvelles.

    Encore merci.

    Cordialement.

  3. #23
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour James68;

    Ca marche très bien merci, sauf que finalement je ne suis pas satisfait du rendu, surtout vis a vis de l'utilisateur, il y a de forte chance qu'il soit induit en erreur, du coup je me demande si c'est possible d'avoir des années au lieu de date, c'est a dire qu'a partir de la date saisie dans le champs [saisiedate] et la durée saisie dans le champ [periode] on arriverait a obtenir des années, j'explique :

    [saisiedate] = 01/01/2019

    [periode] = 12 mois

    nous obtienderons le champ [duree1] = 2020

    etc ..... , avec un champ qui sera en format date qui lui indiquera la date de la fin du contrat ou du projet.

    c'est possible ?

    Merci.

    Cordialement.

  4. #24
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Oui avec ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms.frm_duree.SFRM_DUREE.Form.duree1 = Year(DateAdd("m", 12, (Me.SaisieDate)))
    cependant tu devras modifié les définitions de tes champs durée1 durée2...etc
    et les passer de Date/Heure en texte
    ++

  5. #25
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonsoir James38,

    Voila, j'ai fait comme vous me l'avez demandé et ça marche très bien, cependant j'ai fait quelques modifications, parce que finalement mon raisonement était quelque peu faux, j'explique;

    J'ai réduits les durées de 5 a 3 vu que les périodes "12", "14" et "18" font parties de la même durée, même si ici aussi, il a encore a faire vu que si la date saisie est par exemple au 01/06/2019, la logique voudrait que "18" se positionne sur champ [duree2].

    Ceci dit, dans l'urgence, j'aimerais que si la valeur de la liste est sur "24" et que la date est par exemple au 01/01/2019, les champs soient renseignés de cette manière :

    [duree1]=2020
    [duree2]=2021

    Idem pour si la valeur est a '36'.

    Merci.

    cordialement

  6. #26
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    rajoute des boucles If dans le select Case
    - pour la valeur de 14 mois : si duree2=duree1 alors duree2="" sinon duree2 = a la valeur de l'année
    tu fais ceci pour chaque case et tu decales a chaque fois si duree3=duree2 etc....
    ça devient très lourd et cela n'a plus rien a voir avec la question du début.
    il faudrait peut être revoir ton analyse du début et réorienter ton code.
    ++

  7. #27
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonsoir james68,

    Si je ne répond vite, c'est parce que c'est derniers temps, je travail un peu plus tard que d'habitude, ben voila j'ai essayé de mettre en œuvre vos propositions mais en vain, actuellement le code est comme ceci :

    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
    Private Sub duree_AfterUpdate()
    Select Case Me.duree
    Case "12"
    Forms.f_projet.f_duree.Form.duree1 = Year(DateAdd("m", 12, Me.periode))
    Case "14"
    Forms.f_projet.f_duree.Form.duree1 = Year(DateAdd("m", 14, Me.periode))
    Case "18"
    Forms.f_projet.f_duree.Form.duree1 = Year(DateAdd("m", 18, Me.periode))
    Case "24"
    Forms.f_projet.f_duree.Form.duree2 = Year(DateAdd("m", 24, Me.periode))
    Case "36"
    Forms.f_projet.f_duree.Form.duree3 = Year(DateAdd("m", 36, Me.periode))
    Case Else
     
     
    Dim s
    Dim Ret
    Ret = MsgBox("Durée non gerée !", vbCritical, "titre de l'appli")
    Forms.f_projet.f_duree.Form.duree1 = ""
    Forms.f_projet.f_duree.Form.duree2 = ""
    Forms.f_projet.f_duree.Form.duree3 = ""
    Forms.f_projet.f_duree.Form.duree4 = ""
    Forms.f_projet.f_duree.Form.duree5 = ""
     
     
     'Call Err.Raise(5, , Error$(5) & " - Durée non gérée.")
    End Select
     
     
    End Sub
    Vous dites réorienter mon code, pourquoi ?

    Merci.

    Cordialement.

  8. #28
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    salut ,
    je n'ai pas bcp de temps non plus
    un debut de code cependant il faudra affiner et le completer:
    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
    Select Case Me.Modifiable2
    Case "12"
     
    Forms.frm_duree.SFRM_DUREE.Form.duree1 = Year(DateAdd("m", 12, (Me.SaisieDate)))
    Forms.frm_duree.SFRM_DUREE.Form.duree2 = ""
    Forms.frm_duree.SFRM_DUREE.Form.duree3 = ""
    Forms.frm_duree.SFRM_DUREE.Form.duree4 = ""
    Forms.frm_duree.SFRM_DUREE.Form.duree5 = ""
     
     
    Case "14"
    Forms.frm_duree.SFRM_DUREE.Form.duree1 = Year(DateAdd("m", 12, (Me.SaisieDate)))
    If Year(DateAdd("m", 12, (Me.SaisieDate))) = Year(DateAdd("m", 14, (Me.SaisieDate))) Then
        Forms.frm_duree.SFRM_DUREE.Form.duree2 = ""
    Else
        Forms.frm_duree.SFRM_DUREE.Form.duree2 = Year(DateAdd("m", 14, (Me.SaisieDate)))
    End If
    Forms.frm_duree.SFRM_DUREE.Form.duree3 = ""
    Forms.frm_duree.SFRM_DUREE.Form.duree4 = ""
    Forms.frm_duree.SFRM_DUREE.Form.duree5 = ""

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/06/2015, 16h53
  2. [AJAX] remplissage des champs a partir d'une donne dans un autre champ
    Par zied.ellouze dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/02/2009, 10h07
  3. Réponses: 13
    Dernier message: 06/08/2008, 14h36
  4. Comment ajouter des champs a partir des valeurs d'un autre champ ?
    Par zerkz dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/05/2007, 12h05
  5. Réponses: 4
    Dernier message: 25/09/2006, 14h36

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