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

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    804
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 804
    Points : 203
    Points
    203

    Par défaut Repositionner sélecteur sur enregistrement actif sur formulaire continu

    Bonjour à tous

    Je dispose d'un formulaire qui contient plusieurs containers :

    - Dans la partie du haut est incrusté un formulaire continu
    - Dans la partie du bas est incrusté un formulaire unique qui est filtré par le FC décrit plus haut

    Le formulaire du bas est aussi ouvrable en mode modal et vient se positionner au centre de l'écran

    Je voudrais enregistrer la référence à l'enregistrement actif de façon à ce que le sélecteur du FC revienne ou reste sur la position sur laquelle il était avant d'ouvrir le formulaire du bas et ce même après qu'un requery ait été effectué à la fermeture du formulaire modal...

    Pour cela j'ai tenté d'enregistrer la position du recordset actuel avec le code ci-dessous pour pouvoir s'en resservir ensuite mais j'ai un message d'erreur à la deuxième ouverture du formulaire modal me disant "aucun enregistrement en cours ..."

    Deplus, comment fait on pour repositionner le sélecteur ensuite dans le FC du haut une fois ayant une référence au numéro d'enregistrement qui était en cours ?

    PS: Le requery à la fermeture du formulaire modal est obligatoire : je sais que c'est lui qui nous fait perdre le focus sur l'enregistrement en cours...

    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
     
        'Enregistre la position du recordset actif
     
        Dim PositionReg As Byte
        Dim rs As DAO.Recordset
     
        Set rs = Me.RecordsetClone
     
        PositionReg = rs.Bookmark
        Debug.Print PositionReg
     
        rs.Close
        Set rs = Nothing
     
    DoCmd.OpenForm "fiche mairies"
    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    12 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 12 322
    Points : 18 774
    Points
    18 774

    Par défaut

    Bonjour.

    Le controle de l'affichage en Access est toujours un peu delicat.

    As-tu une clef primaire que tu pourrais recuperer, ce serait la methode la plus simple.
    Apres le requery, tu fais un me.Recordset.Findfirst("TaClef"= & Taclef) et Access va se placer sur le bon enregistrement.
    Note que ce ne sera pas forcement a la meme place dans l'ecran.

    Sinon a quoi sert le requery ?

    Si cela ne touche quelques champs et pas toutes tes donnees, tu peux peut-etre utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    me.TonChamp.Requery
    qui ne rafraichi que le champ vise.

    Enfin comme tu es en Access apres 2010, as-tu explore les formulaires a double affichage.
    Ils presentent les meme donnees en liste et en detail, sans aucune programmation a faire.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    804
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 804
    Points : 203
    Points
    203

    Par défaut

    Merci beaucoup ppour cette réponse

    J'ai testé hier soir cette approche mais la solution double affichage me semble très limitée face à un listview et quelques lignes de code, par exemple :

    A moins que je me trompe :

    On ne peut pas changer la couleur d'une liste colonne par colonne, pas d'icones possibles, pas de multisélection, pas de contrôle réel sur les colonnes à afficher...

    Ceci dit si l'on pouvait coder par derrière je prendrais bien cette solution pour son avantage sur les filtres par colonnes et surtout le splitter + choix du placement de la fdd dans le formulaire...

    Je suis donc encore partant pour ce genre de solution mais pourra elle rentrer en compétition avec un bon listview + formulaire unique codé classiquement ?

    J'attends votre avis, de toutes façons j'ai créé un formulaire double affichage tout marche très bien mécaniquement mais comment prendre le pouvoir sur la présentation de la feuille de données ?

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    12 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 12 322
    Points : 18 774
    Points
    18 774

    Par défaut

    Bonjour.

    Oui tu as raison, l'affichage en mode double est un affichage feuille de donnees combine a un affichage formulaire unique.
    Donc il a les limitations de la feuille de donnees.
    Pour les icones on ne peut rien faire mais tu peux changer la couleur d'un champ en utilisant la mise en forme conditionnelle.
    ll faut choisir "expression" est mettre =True (ce qui fait que la condition est troujours vraie) et choisir la mise en forme voulue.
    Note que l'affichage est un peu long a la détente mais cela marche.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [AC-2013] Requête sur enregistrement actif
    Par CrasherSEP dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/01/2018, 09h37
  2. [AC-2010] Position sur ouverture d'un formulaire continue
    Par FewRa dans le forum IHM
    Réponses: 7
    Dernier message: 20/02/2014, 18h31
  3. Réponses: 2
    Dernier message: 02/07/2011, 12h39
  4. Effets sur boutons dans un formulaire continu
    Par docjo dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/10/2009, 08h12
  5. Réponses: 2
    Dernier message: 03/08/2006, 22h00

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