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 :

comment changer la valeur d'un champ d'un s/formulaire continue [AC-2007]


Sujet :

IHM

  1. #1
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 313
    Points : 151
    Points
    151
    Par défaut comment changer la valeur d'un champ d'un s/formulaire continue
    Bonjour,

    J'ai un formulaire qui à le champ "TotalModeDégradé"
    J'ai un s/formulaire continue avec 2 champs "IdHNP" et "TpsHNP".
    J'aimerai pouvoir changer la valeur du champ "TpsHNP" par la valeur du champ "TotalModeDégradé" dont le champ "IdHNP" est = à "4"

    J'ai essayé par le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Forms![frmSaisieProduction]![sfrm_frmSaisieHNP].IdHNP = "4" Then
                Forms![frmSaisieProduction]![sfrm_frmSaisieHNP].TpsHNP = Me.TotalModeDegrade.Value
    End If
    Merci d'avance de votre aide

  2. #2
    Membre actif
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Mars 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Mars 2009
    Messages : 177
    Points : 270
    Points
    270
    Par défaut
    Bonjour rch05,

    Tu ne dis pas si ton code marche ou pas ?

    Cordialement

  3. #3
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 313
    Points : 151
    Points
    151
    Par défaut
    Bonjour reedy,

    Non le code ne fonctionne pas.
    Je viens d'essayer ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Forms![frmSaisieProduction]![SaisieHNP].Form![IdHNP] = "4" Then
                Forms![frmSaisieProduction]![SaisieHNP].Form![TpsHNP] = Me.TotalModeDegrade.Value
    End If
    J'avais une erreur dans le nom du s/formulaire.
    Mais, là aussi rien ne se passe. la modif ne s'effectue pas.


    Merci de ton aide

  4. #4
    Rédacteur/Modérateur

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

    Sur quel évènement as-tu mis ton code ?

    A+

  5. #5
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 313
    Points : 151
    Points
    151
    Par défaut
    Bonjour denis,

    Je l'ai sur un bouton "Verification" du formulaire principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub cmdVerification_Click()
     
        If Me.txtTempsDirect < Me.TotalTpsProd And Me.TotalModeDegrade > 0 Then
            MsgBox "Le Temps Direct est inférieur au Temps de la production.", vbOKOnly
            If Forms![frmSaisieProduction]![SaisieHNP].Form![IdHNP] = "4" Then
                Forms![frmSaisieProduction]![SaisieHNP].Form![TpsHNP].Value = Me.tpsModeDégradé.Value
            End If
            Me.txtTempsDirect.Value = Me.TotalTpsProd.Value
            Exit Sub
        End If
     
    End Sub
    Actuellement, le calcul s'effectue à la main.
    Donc, avant de valider la saisie, j'effectue une verification.
    Et j'ailmerai , qu'après cette vérification effectuer les modifs qui s'imposent.

    Merci

  6. #6
    Rédacteur/Modérateur

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

    Est-ce que le message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Le Temps Direct est inférieur au Temps de la production.", vbOKOnly
    S'affiche ?

  7. #7
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 313
    Points : 151
    Points
    151
    Par défaut
    Re Denis,

    J'ai essayé ceci, après la lecture du tuto Interaction des formulaires et états de Fabrice Constants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub cmdVerification_Click()
     
        If Me.txtTempsDirect < Me.TotalTpsProd And Me.TotalModeDegrade > 0 Then
            'MsgBox "Le Temps Direct est inférieur au Temps de la production.", vbOKOnly
            If Forms.frmSaisieProduction.SaisieHNP.Form.IdHNP = "4" Then
                Forms.frmSaisieProduction.SaisieHNP.Form.TpsHNP.Value = Forms.frmSaisieProduction.tpsModeDégradé.Value
            End If
            Me.txtTempsDirect.Value = Me.TotalTpsProd.Value
            Exit Sub
        End If
     
    End Sub
    Cela ne fonctionne pas.........

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 407
    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 407
    Points : 19 842
    Points
    19 842
    Billets dans le blog
    66
    Par défaut
    Tu as essayé sans les guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    if Forms.frmSaisieProduction.SaisieHNP.Form.IdHNP = 4 then
    ...

  9. #9
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 313
    Points : 151
    Points
    151
    Par défaut
    Re,

    Oui le message s'affiche, et j'ai essayé ce que tu me cites
    ...
    if Forms.frmSaisieProduction.SaisieHNP.Form.IdHNP = 4 then
    ...
    et la mise à jour de
    Me.txtTempsDirect.Value = Me.TotalTpsProd.Value
    s'effectue bien.
    j'ai même essayé
    If Forms.frmSaisieProduction.SaisieHNP.Form.IdHNP = "4" Then
    Forms.frmSaisieProduction.SaisieHNP.Form.TpsHNP.setfocus
    End If
    afin de savoir si le curseur pointe sur le champ.

    Rien............

  10. #10
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 313
    Points : 151
    Points
    151
    Par défaut
    Bonjour Denis,

    Ce matin j'aii effectué le test suivant:
    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
     
    Private Sub cmdVerification_Click()
    Dim newsModedégradé As Long
     
    newsModedégradé = Me.tpsModeDégradé
     
        If Me.txtTempsDirect < Me.TotalTpsProd And Me.TotalModeDegrade > 0 Then
            MsgBox "Le Temps Direct est inférieur au Temps de la production.", vbOKOnly
            Me.SaisieHNP.SetFocus
            Me.[SaisieHNP].Form.Recordset.MoveFirst
            While Not Me.[SaisieHNP].Form![IdHNP] = "4"
                Me.[SaisieHNP].Form![TpsHNP].SetFocus
                'Me.[SaisieHNP].Form![TpsHNP] = newsModedégradé
                 Me.[SaisieHNP].Form.Recordset.MoveNext
            Wend
            Me.txtTempsDirect.Value = Me.TotalTpsProd.Value
            Exit Sub
        End If
     
    End Sub
    Le curseur pointe bien sur le champ, dont il faut changer la valeur.
    J'ai rajouté le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.[SaisieHNP].Form![TpsHNP] = newsModedégradé
    afin de changer la valeur.
    Le pb, c'est qu'il change la valeur de tous les enregistrements qui sont en amont.

    Je ne suis pas loin de la solution..........

  11. #11
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2009
    Messages : 313
    Points : 151
    Points
    151
    Par défaut
    Re,

    Voila, j'ai trouvé la solution.
    Je ne sais si c'est jolie, mais le code fonctionne.
    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
     
    Private Sub cmdVerification_Click()
    Dim newsModedégradé As Long
     
    newsModedégradé = Me.tpsModeDégradé
     
        If Me.txtTempsDirect < Me.TotalTpsProd And Me.TotalModeDegrade > 0 Then
            MsgBox "Le Temps Direct est inférieur au Temps de la production.", vbOKOnly
            Me.SaisieHNP.SetFocus
            Me.[SaisieHNP].Form.Recordset.MoveFirst
     
    ModeDégradé:
            If Me.[SaisieHNP].Form![IdHNP] = "4" Then
                Me.[SaisieHNP].Form![TpsHNP].SetFocus
                Me.[SaisieHNP].Form![TpsHNP] = newsModedégradé
                Me.txtTempsDirect.Value = Me.TotalTpsProd.Value
                Exit Sub
            Else
                Me.[SaisieHNP].Form.Recordset.MoveNext
                GoTo ModeDégradé
            End If
     
        End If
     
    End Sub


    Merci et bon WE Pascal

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2012, 19h35
  2. Réponses: 2
    Dernier message: 01/08/2006, 12h52
  3. Réponses: 7
    Dernier message: 06/07/2006, 15h32
  4. Réponses: 7
    Dernier message: 15/09/2005, 06h37
  5. comment recuperer deux valeurs de deux champs input
    Par trialrofr dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/02/2005, 22h08

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