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 :

Sélection d'un record dans un SOUS formulaire


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 99
    Points : 61
    Points
    61
    Par défaut Sélection d'un record dans un SOUS formulaire
    J'ai un sous-formulaire SF1 qui est en Datasheet View
    Quand l'utilisateur introduit une donnée, un refresh de certains champs du formulaire mère F1 est réalisé ainsi qu'un refresh d'un autre formulaire F2 affiché.
    J'aimerais qu'après, on revienne sur le record qui vient d'être encodé dans le formulaire ou dans le record suivant
    Pour l'instant, le curseur revient systématiquement sur le premier record de la table.
    J'ai essayé plusieurs codes, notamment celui-ci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub LastOfScore_afterupdate()
    [Forms]![F1].Refresh
    [Forms]![F1]!List48.Requery
     
    stDocName = "F2"
    DoCmd.SelectObject acForm, stDocName
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acRefresh, , acMenuVer70
     
    DoCmd.SelectObject acForm, "F1"
    '[Forms]![F1]![SF1].Form.SetFocus
    [Forms]![F1]![SF1].Form.Recordset.MoveNext
    Bof bof
    Comment lui dire de revenir sur le record suivant celui qu'on vient d'encoder?
    Je suis sûr que c'est possible de le faire, mais je ne trouve pas la syntaxe

  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 006
    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 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour (ça en fait des bonjour à la même personne )

    Faire une recherche de l'enregistrement dans le record du sous-form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim rst as dao.recordset
    set rst = me.recordset
    rst.findfirst "monchamp=" & mavaleur
    if rst.nomatch then
       ' l'enregistrement n'existe pas
    endif
    Si tu appelles ce bout de code d'un autre form que celui concerné il te faut non pas utiliser me.recordset mais forms.monform.sousform.form.recordset
    mavaleur doit correspondre au contenu du champ que tu recherches et doit être unique dans la table sinon il se positionne sur le premier mais pas forcément sur le bon.

    Pour comprendre le code voir le tuto sur DAO.
    cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 99
    Points : 61
    Points
    61
    Par défaut
    J'ai essayé ceci et ça a l'air OK.
    Merci pour ton aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub LastOfScore_afterupdate()
     
    zz = CurrentFormRecord(Forms![F1]![SF1].Form)
             ...
    [Forms]![F1]![SF1].Form.SelTop = zz + 1
    avec la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function CurrentFormRecord(frm As Form)
        CurrentFormRecord = frm.CurrentRecord
    End Function

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

Discussions similaires

  1. Sélection multiple dans un sous formulaire ?
    Par _developpeur_ dans le forum Access
    Réponses: 2
    Dernier message: 09/03/2019, 01h05
  2. [AC-2010] Ajouter record d'un sous formulaire dans une autre table
    Par wisemanvsfatboy dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/02/2011, 09h01
  3. [AC-2003] Sélection dans un sous formulaire pour ouvrir un formulaire
    Par Jonkill dans le forum Access
    Réponses: 18
    Dernier message: 01/12/2010, 16h15
  4. Réponses: 17
    Dernier message: 18/08/2010, 15h02
  5. sélection d'un record dans un formulaire
    Par ac264 dans le forum IHM
    Réponses: 1
    Dernier message: 13/10/2007, 10h16

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