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 :

MoveFirst non souhaité sur Formulaire


Sujet :

IHM

  1. #1
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut MoveFirst non souhaité sur Formulaire
    Bonjour à tous et bonnes fêtes ...

    voilà un petit souci dont je ne me sort pas:

    un Form A permet d'ouvrir par un bouton, un second Form B en mode Ajout, avec qq données recopiées de A vers B.

    ça marche nickel, sauf que A (en arrière plan) se positionne sur son 1er record!! et ça dés l'ouverture de B.

    Lorsque je ferme B pour revenir à A, forcément je ne retrouve pas mes petits.


    Alors:
    1- qui peut me dire ce qui génère ce fonctionnement ?
    2- qui peut me dire comment rester sur l'enregistrement en cours ?

    MERCI beaucoup

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    En utilisant les bookmark du recordset du formulaire A.

    En ouvrant B, tu récupères le bookmark et tu le passes de A à B. Soit avec openargs si cette propriété admet les variant, soit via une variable public dans B.

    En retournant sur A, tu réaffectes le bookmark précédent.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.recordset.bookmark=MonBk

  3. #3
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    je suis d'accord, mais je pensais à cette solution comme "bidouille" ...

    Pourquoi le form A ne reste pas sur son record?


  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    En effet, j'avais mal lu, je croyais que tu feramis et réouvrais A...

    Mmm, curieux

    Que se passe t'il à l'ouverture de B ? Tu travailles sur des recordsets ? Sur le recordset de A. Que se passe t'il aussi juste avant l'ouverture de B ? Tu peux peut être tenter une exécution en mode pas à pas pour voir quelle instruction fait déplacer A

  5. #5
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    table EvR (Evaluation des Risques) idEvR (PK), ...
    table RISQUE idRISQ (PK), NOEvR, ....

    idEvR <---> NOEvR

    formulaire A basé sur tblEvR
    formulaire B basé sur tblRISQUE

    A ouvre B via un bouton de cmd classique, qui reprend un choix dans un combo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    stDocName = "F_RISQUE"
    stLinkCriteria = "[IDRISQUE]=" & Me.zlmRISQUE.Column(2)
     
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    En fait, le phénomène apparait aussi bien en modif qu'en mode ajout.
    si au contraire A ouvre B, je referme B sans rien modifier, A reste sur le record courant.
    j'applique une modif (F9), A se positionne sur le premier record, sans fermer B

    .... voilà, je n'ai pas pu avancer plus loin ...

    merci

  6. #6
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    Par contre, B est fondé sur une requete ou les 2 tables sont en jointure

    je ne sais pas si cela peut jouer ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_RISQUE.*, T_MACHINE.NOMMACHINE, T_ATELIER.NOMATELIER
    FROM (T_ATELIER INNER JOIN (T_MACHINE INNER JOIN T_EVR ON T_MACHINE.IDMACHINE = T_EVR.Machine) ON T_ATELIER.IDATELIER = T_MACHINE.NOATELIER) INNER JOIN T_RISQUE ON T_EVR.IDEVR = T_RISQUE.NOEVR;
    a+

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Et en basant les formulaires sur des requêtes plutot que des tables ?

  8. #8
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    pour le form B, n'est-ce pas le cas pour mon post précédent ?

    pour le form A,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_EVR.*, T_MACHINE.NOMMACHINE, T_ATELIER.NOMATELIER
    FROM T_ATELIER INNER JOIN (T_MACHINE INNER JOIN T_EVR ON T_MACHINE.IDMACHINE = T_EVR.Machine) ON T_ATELIER.IDATELIER = T_MACHINE.NOATELIER;
    a+

Discussions similaires

  1. Comportement non souhaité sur IE
    Par benito25 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 19/03/2014, 09h42
  2. Réponses: 7
    Dernier message: 01/04/2010, 11h30
  3. Réponses: 1
    Dernier message: 25/09/2008, 19h09
  4. Modifications non effectuées sur sortie de formulaire
    Par jojodid dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/08/2008, 16h19
  5. Réponses: 4
    Dernier message: 19/04/2007, 07h32

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