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 :

comment faire un setfocus avec before update ?


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut comment faire un setfocus avec before update ?
    Bonjour je souhaiterais faire un setfocus quand une erreur de saisie est faite par l'utilisateur (evenement Avant maj).
    lorsque je fait ca access met le message d'erreur 2108 : vous devez enregistrer le champ avant d'executer l'action AtteindreControle, la methode GoToControl ou SetFocus

    je precise que j'ai essayé avec Apres MAJ, je n'est pas de message d'erreur mais le setfocus ne marche pas, de toute facon le apres MAJ ne me convient pas car l'utilsateur peut laisser la mauvaise valeur aprés le message d'erreur.

    Comment faire ?
    Merci d'avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    utilise sur Sortie pour contrôler la saisie.

    avec un cancel = true l'utilisateur reste dans son jus. jusqu'à la bonne saisie.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    J'ai le meme probleme qu'avec after update, l'utilisateur peu laisser la mauvaise saisie.
    ou-ce que je place ton cancel = true ?
    voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub tx_occ_Exit(Cancel As Integer)
    Dim Nb As Long, lg As Long
    Nb = Me.tx_occ
    lg = Fix(log(Nb + 0.11) / log(10)) + 1
        If Nb > 100 Or Nb < 0 Then
            MsgBox "La valeur saisie pour le taux d'occupation n'est pas valable" & Chr(10) & "Veuillez saisir une valeur entre 0 et 100"
                    Forms!f_EnregistrementNouvelemprunteur.Commande108.Enabled = False
            Me.tx_occ.SetFocus
        Else
            Forms!f_EnregistrementNouvelemprunteur.Commande108.Enabled = True
        End If
    End Sub
    Merci encore !]

  4. #4
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    personne n'a de solution ?

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub tx_occ_Exit(Cancel As Integer)
    Dim Nb As Long, lg As Long
    Nb = Me.tx_occ
    lg = Fix(log(Nb + 0.11) / log(10)) + 1
        If Nb > 100 Or Nb < 0 Then
            MsgBox "La valeur saisie pour le taux d'occupation n'est pas valable" & Chr(10) & "Veuillez saisir une valeur entre 0 et 100"
                    Forms!f_EnregistrementNouvelemprunteur.Commande108.Enabled = False
            Me.tx_occ.SetFocus
        Else
            Forms!f_EnregistrementNouvelemprunteur.Commande108.Enabled = True
        End If
    End Sub
    Pour un controle aussi peut évolué je suggère ceci :

    Dans le controle tx_occ
    dans la propriété Valide si
    Marque >=0 Et <=100
    Met ton message d'erreur dans la propriété Message si erreur

    Plus simple et plus efficace.

  6. #6
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Bonjour,

    Il faut mettre
    à la place de
    Ansi tant que la valeur ne sera pas conforme, la sortie de la zone de texte sera bloquée.

    Bon courage

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Tu ne peux pas faire un setfocus sur un controle qui a deja le focus.

  8. #8
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup pour vos réponses !!!! mon probleme est résolu !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/05/2006, 00h03
  2. Comment faire un random avec un min et un max
    Par crocodingo dans le forum C++
    Réponses: 3
    Dernier message: 06/04/2006, 11h19
  3. [JDBC][Access] comment faire un lien avec la BD
    Par pmartin8 dans le forum JDBC
    Réponses: 4
    Dernier message: 19/10/2005, 14h35
  4. comment faire un sphère avec une texture ?
    Par fregate dans le forum OpenGL
    Réponses: 1
    Dernier message: 12/09/2005, 03h37
  5. [INDY] comment faire un 'POST' avec idHTTP??
    Par gamez dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/05/2004, 19h02

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