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 :

ouverture sur enregistrement stocké dans une variable


Sujet :

IHM

  1. #1
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut ouverture sur enregistrement stocké dans une variable
    bonjour,

    une fois encore je m'en remet à votre savoir faire......

    j'ai un formulaire et un sous-formulaire en mode feuille de données dans lequel je controle en vba la valeur d'un champ sur l'évènement sortie

    Le probleme c'est que si l'utilisateur clique sur le bouton fermer du formulaire, j'ai mon message m'indiquant que la valeur (de mon sous-formulaire) n'est pas bonne mais il me ferme quand meme le formulaire.

    J'ai trouvé une parade pas tres propre qui consiste à réouvrir mon formulaire si j'ai le message d'erreur.

    Mais je voudrais qu'il m'ouvre ce formulaire en mettant le focus sur l'enregistrement à modifier (celui qui a provoqué l'erreur).

    A la fermeture de mon formulaire j'enregistre la valeur qui pose pb dans une variable public "datetenueerreur"

    voici le code sur open form qui doit me permettre de me positionner sur la valeur à modifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    If datetenueerreur = "" Or IsNull(datetenueerreur) Then
    Exit Sub
    Else
    'se placer sur la tenue qui pose pb
    Dim rs3 As Object
    Dim essai As Variant
        Set rs3 = Forms![liste des Tenues]![liste des tenues sous formulaire].Form.Recordset.Clone
    rs3.FindFirst "[date] = " & datetenueerreur
    'MsgBox rs3.Bookmark   ' me renvoie un "?"
     
    ' essai = Me.CurrentRecord 
    ' MsgBox essai  'me renvoie 1 (le 1er enregistrement logique il me semble....
     'If Not rs3.EOF Then Me.Bookmark = rs3.Bookmark  'me dit signet non valide logique puisque rs3.bookmark renvoie "?"
    End If

    merci beaucoup de votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour,

    Pourquoi mets-tu
    If datetenueerreur = "" Or IsNull(datetenueerreur) Then
    Exit Sub
    alors que tu ne veux pas fermer le formulaire ?

    Tu peux mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If datetenueerreur = "" Or IsNull(datetenueerreur) Then
    datetenueerreur.SetFocus
    pour placer le pointeur sur le champ qui n'est pas rempli correctement.

    Petit conseil : évites les espaces dans les noms des formulaires ou autres objets de ton application ; mets plutôt des _ cela t'évitera des problèmes.

    Bonne continuation.

  3. #3
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut
    bonjour merci de ta réponse.

    Le code que j'ai mis s'execute à l'ouverture de mon formulaire. Le formulaire s'est donc déjà déjà fermé et se réouvre

    datetenueerreur est une variable public qui n'est remplie que si en sortant du formulaire il y a eu une erreur.

    donc si sa valeur est nulle le code s'arrete.

    mon problème c'est donc de se mettre sur l'enregistrement désigné par datetenueerreur à l'ouverture de mom formulaire

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour,

    Dans ce cas, je te suggère de mettre un champ caché (non visible) sur ton formulaire et à l'ouverture du formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ChampCache = datetenueerreur
    If ChampCache = "" Or IsNull(ChampCache) Then
    datetenueerreur.SetFocus
    End If
    J'espère que cela t'aidera.

  5. #5
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut
    je ne comprends pas pourquoi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datetenueerreur.SetFocus
    puisque datetenueerreur est une variable

    j'avais essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Forms![liste des Tenues]![Liste des tenues sous formulaire].SetFocus
    'Forms![liste des Tenues]![Liste des tenues sous formulaire]![date].SetFocus
    'DoCmd.GoToRecord , , acLast
    Mais ca me permet juste d'atteindre le dernier enregistrement pas celui que je veux

  6. #6
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 575
    Points : 259
    Points
    259
    Par défaut ouvrir sur un enregistrement stocké en mémoire
    Bonsoir,

    Ca y est j'ai trouvé une solution.......

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'se placer sur la tenue qui pose pb
    Dim rs3 As Object
    Dim essai As Variant
        Set rs3 = Forms![liste des Tenues]![liste des tenues sous formulaire].Form.Recordset
        rs3.MoveFirst
        Do Until rs3!date = datetenueerreur
        rs3.MoveNext
        Loop
     
    End If
    et voilou
    merci pour les pistes

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonsoir,

    Désolé j'ai écrit un peu vite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ChampCache = datetenueerreur
    If ChampCache = "" Or IsNull(ChampCache) Then
    valeuramodifier.SetFocus
    End If
    Si tu as trouvé la solution, c'est tout bon !

    Bonne continuation.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/07/2008, 16h28
  2. Affiche le contenu d'un constante stocké dans une variable
    Par Alain Defrance dans le forum Langage
    Réponses: 5
    Dernier message: 07/07/2008, 09h07
  3. Mettre le résultat d'une Proc Stock dans une variable
    Par zooffy dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 18/06/2008, 11h20
  4. recuperer l'affichage sur un ecran dans une variable
    Par oussama127 dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2006, 23h34
  5. [XSLT] Attribut dont le nom est stocké dans une variable ?
    Par Xfennec dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/03/2006, 11h20

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