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 :

Aller sur enregistrement suivant [AC-2000]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2020
    Messages : 32
    Points : 16
    Points
    16
    Par défaut Aller sur enregistrement suivant
    Bonjour,


    Débutant
    J'ai créé 2 formulaires Access à partir d'une même requête.
    Le premier formulaire en tabulation reprend quelques champs , le deuxième formulaire en colonne reprend tous les champs.
    J’ouvre le premier formulaire en tabulation "PRODUCTION TEST"
    qui représente une vue d'ensemble avec quelque champs .
    Avec un double clic sur le champs Number j’accède au deuxième formulaire "DETAIL PRODUCTION TEST" contenant tous les champs de la requête.
    Tout fonctionne.
    Sur le premier formulaire j'ai plusieurs produit avec le même nom ,
    j'en sélectionne un je fais clic droit et contient , il m'affiche tous ceux qui ont le même nom je fais un double clic sur le champ Number j’accède au deuxième formulaire en détail de l'enregistrement
    A l'aide d'un bouton sur le deuxième formulaire ce que j’essaie de faire qu'il aille sur l'enregistrement suivant du premier formulaire
    et que les info apparaissent en detail sur le deuxième formulaire "DETAIL PRODUCTION TEST"

    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
    16
    17
    Private Sub Commande54_Click()
    On Error GoTo Err_Commande54_Click
     
     
        DoCmd.Close
        DoCmd.OpenForm "PRODUCTION TEST"
        DoCmd.GoToRecord , , acNext
        DoCmd.OpenForm "DETAIL PRODUCTION TEST", acNormal, , "[Number]=" & Me.Number
     
        Exit_Commande54_Click:
        Exit Sub
     
        Err_Commande54_Click:
        MsgBox Err.Description
        Resume Exit_Commande54_Click
     
    End Sub
    J'ai ce message qui apparait "l'expression entrée fait référence à un objet fermé ou supprimé " sans m'afficher le 2eme formulaire .
    Je ne sais pas du tout comment faire je suis coincé dessus depuis plusieurs jours.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2020
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Je n'ai plus d'erreur en modifiant le code comme ceci

    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
    16
    Private Sub Commande54_Click()
    On Error GoTo Err_Commande54_Click
     
     
        DoCmd.OpenForm "PRODUCTION TEST"
        DoCmd.GoToRecord , , acNext
        DoCmd.OpenForm "DETAIL PRODUCTION TEST", acNormal, , "[Number]=" & Me.Number
     
        Exit_Commande54_Click:
        Exit Sub
     
        Err_Commande54_Click:
        MsgBox Err.Description
        Resume Exit_Commande54_Click
     
    End Sub
    Je double clic dans le champs Number du formulaire "PRODUCTION TEST" le 2eme formulaire "DETAIL PRODUCTION TEST" s'ouvre correctement sur le même Number.
    J'utilise le code ci dessus , il passe sur le prochain enregistrement filtrer du formulaire "PRODUCTION TEST"
    mais je reste sur le même enregistrement ouvert la première fois dans le formulaire"DETAIL PRODUCTION TEST"
    Je ne vois pas d’où vient le problème.

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour,
    Je double clic dans le champs Number du formulaire "PRODUCTION TEST" le 2eme formulaire "DETAIL PRODUCTION TEST" s'ouvre correctement sur le même Number.
    J'utilise le code ci dessus , il passe sur le prochain enregistrement filtrer du formulaire "PRODUCTION TEST"
    mais je reste sur le même enregistrement ouvert la première fois dans le formulaire"DETAIL PRODUCTION TEST"
    tout ça est un peu confus, on ne sait pas quel formulaire doit piloter l'autre ou si c'est le formulaire actif qui pilote le non actif (ce qui, à mon sens, n'est pas la méthode usuelle pour naviguer d'un formulaire à l'autre...)
    Et aussi une question: quelle est la finalité de cette méthode ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2020
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonjour tee_grandbois ,

    Merci de votre aide.
    Je suis parti d'une requête qui contient à peu prés 26 champs
    quand on recherchait ou on voulait compléter correctement ce n’était pas très pratique.
    L’idée c'est d'avoir le premier formulaire en Tabulaire "PRODUCTION TEST" qui ne contient que l'essentiel 7 champs.
    Le deuxième Formulaire en colonne "DETAIL PRODUCTION TEST" qui contient la totalité des champs de la requête.
    Le champs Number qui a un type de données NuméroAuto unique est commun au 2 formulaires.

    On a aussi un champs produit dans le formulaire en Tabulaire "PRODUCTION TEST" on peut avoir 10 à 15 produits voir plus avec le même nom quand on le filtre par contenue.
    Je double clic dans le champs number du formulaire "PRODUCTION TEST" sur le premier de la liste ,
    le deuxième formulaire s'ouvre "DETAIL PRODUCTION TEST" la j'ai toutes les informations relative au premier produit .
    Si je souhaite avoir accès aux informations du suivant , je dois fermer le formulaire "DETAIL PRODUCTION TEST" ,
    revenir sur le formulaire "PRODUCTION TEST" qui est toujours ouvert et effectuer un double clic sur le
    champs number suivant pour avoir accès a nouveau au formulaire "DETAIL PRODUCTION TEST" contenant l'ensemble des informations de cet enregistrement.

    Je cherche à créer un bouton dans le formulaire "DETAIL PRODUCTION TEST" qui permettrait de se déplacer sur l'enregistrement suivant dans le formulaire "PRODUCTION TEST" et d'afficher les informations concernant cet enregistrement dans le formulaire "DETAIL PRODUCTION TEST" .

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    dans ce cas il ne faut pas ouvrir le formulaire "DETAIL PRODUCTION TEST" sur un seul enregistrement mais rechercher l'enregistrement correspondant avec FindFirst:
    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
    16
    Private Sub Commande54_Click()
    On Error GoTo Err_Commande54_Click
    ' si le formulaire appelé n'est pas ouvert, on l'ouvre
    If Not CurrentProject.AllForms("DETAIL PRODUCTION TEST").IsLoaded Then DoCmd.OpenForm "DETAIL PRODUCTION TEST", acNormal
    'on se positionne sur l'enregistrement correspondant
    Forms![DETAIL PRODUCTION TEST].Recordset.FindFirst ("[Number]=" & Me.Number)
    Me.Recordset.MoveNext    'plutôt que : DoCmd.GoToRecord , , acNext 
     
    Exit_Commande54_Click:
    Exit Sub
     
    Err_Commande54_Click:
    MsgBox Err.Description
    Resume Exit_Commande54_Click
     
    End Sub
    tu pourras ainsi naviguer dans le formulaire ou revenir sur le formulaire "PRODUCTION TEST" pour choisir un autre enregistrement.

    Un conseil: évite de mettre des espaces dans le nom des objets cela oblige à mettre des crochets dans VBA pour éviter des erreurs

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2020
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonjour tee_grandbois,

    Merci de votre aide et du conseil que je vais suivre.

    J'ai utiliser le code que vous m'avez fourni , j'ai désactivé filtre qui se met automatiquement dans "DETAIL PRODUCTION TEST" pour que le code fonctionne.
    Ensuite j'ai pu naviguer sur tout les enregistrement que peut contenir le formulaire "PRODUCTION TEST" ,mais ce que j'essaie de faire c'est de pouvoir seulement naviguer sur les enregistrement filtrer du formulaire "PRODUCTION TEST"
    Si je filtre dans le champs produit, exemple: contient "Télévision" du formulaire "PRODUCTION TEST" il y aura seulement les enregistrement qui contient Télévision et pas Informatique .
    Ce que j’essaie de faire c'est de pouvoir seulement naviguer dans les enregistrements filtrer du formulaire "PRODUCTION TEST" mais pas tous les enregistrement que peut contenir le formulaire "PRODUCTION TEST" sans filtre.
    Merci de votre aide

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonsoir,
    si j'ai bien compris "[Number]=" & Me.Number exécute un filtre sur n enregistrements dans le formulaire "DETAIL PRODUCTION TEST", donc ce n'est pas FindFirst ...
    ce qu'il faut faire c'est changer le filtre à chaque changement de Number:
    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
    16
    17
    Private Sub Commande54_Click()
    On Error GoTo Err_Commande54_Click
    ' si le formulaire appelé n'est pas ouvert, on l'ouvre
    If Not CurrentProject.AllForms("DETAIL PRODUCTION TEST").IsLoaded Then DoCmd.OpenForm "DETAIL PRODUCTION TEST", acNormal
    'on filtre les enregistrements correspondants à la sélection
    Forms![DETAIL PRODUCTION TEST].Filter = "[Number]=" & Me.Number
    Forms![DETAIL PRODUCTION TEST].FilterOn = True
    Me.Recordset.MoveNext    '
     
    Exit_Commande54_Click:
    Exit Sub
     
    Err_Commande54_Click:
    MsgBox Err.Description
    Resume Exit_Commande54_Click
     
    End Sub

  8. #8
    Membre à l'essai
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2020
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonjour tee_grandbois,

    et merci encore.

    Je me sens un peu mal a l'aise de vous déranger après l'aide que vous m’avez apporter
    J'ai essayer le code mais dans le formulaire que j'ouvre au premier double clic il reste sur cet enregistrement dans le formulaire "DETAIL PRODUCTION TEST"
    le code semble pas agir on voit que quelque chose se passe mais je reste sur le premier enregistrement ouvert avec le double clic.
    Je me demande si sa provient pas du code que j'utilise pour le double clic je le mets ci dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub Number_DblClick(Cancel As Integer)
    On Error GoTo Err_Number_DblClick
     
    DoCmd.OpenForm "DETAIL PRODUCTION TEST", acNormal, , "[Number]=" & Me.Number
     
    Exit_Number_DblClick:
        Exit Sub
     
    Err_Number_DblClick:
        MsgBox Err.Description
        Resume Exit_Number_DblClick
     
    End Sub
    De crainte de m’être mal exprimer j'ai joins des photos .
    J'ai fait des captures que je joins au message d'une parti du premier formulaire.
    La dernière photo "formulaire PRODUCTION TEST avec contient" c'est a ce moment la en particulier que je voudrais pouvoir naviguer dans les enregistrement afficher du premier formulaire à partir du deuxième formulaire sans avoir a revenir sur le premier formulaire pour aller sur le deuxième enregistrement TELEVISION et ainsi de suite.

    Merci

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonsoir,
    La dernière photo "formulaire PRODUCTION TEST avec contient" c'est a ce moment la en particulier que je voudrais pouvoir naviguer dans les enregistrement afficher du premier formulaire à partir du deuxième formulaire sans avoir a revenir sur le premier formulaire pour aller sur le deuxième enregistrement TELEVISION et ainsi de suite.
    c'est bien d'avoir fourni des impressions d'écran mais malgré tout, je suis vraiment désolé, je ne comprend vraiment rien à tes explications et je ne vois pas où tu veux en venir avec ta navigation d'un formulaire à l'autre...
    J'espère que quelqu'un d'autre pourra t'apporter une solution

  10. #10
    Membre à l'essai
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2020
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonjour tee_grandbois ,

    Merci de votre aide et de votre patience désolé de ne pas avoir réussi à mieux exprimer ce que je souhaitais réaliser .

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonsoir,
    en relisant ceci:
    La dernière photo "formulaire PRODUCTION TEST avec contient" c'est a ce moment la en particulier que je voudrais pouvoir naviguer dans les enregistrement afficher du premier formulaire à partir du deuxième formulaire sans avoir a revenir sur le premier formulaire pour aller sur le deuxième enregistrement TELEVISION et ainsi de suite.
    si tu souhaites enlever le filtre sur "TELEVISION", il faut cliquer sur "Supprimer le filtre dans Product Name" dans le menu contextuel.
    et ceci:
    le code semble pas agir on voit que quelque chose se passe mais je reste sur le premier enregistrement ouvert avec le double clic.
    Je me demande si sa provient pas du code que j'utilise pour le double clic je le mets ci dessous
    il faut éviter d'utiliser les 2 évènements clic et double clic car c'est la vitesse du (double) clic à la souris qui va déterminer l'exécution de l'évènement soit du simple clic, soit du double-clic

  12. #12
    Membre à l'essai
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2020
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2020
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonjour tee_grandbois,

    Merci de votre aide,
    J'ai réussi a résoudre mon problème .


    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
    16
    Private Sub Commande54_Click()
    On Error GoTo Err_Commande54_Click
     
     
        DoCmd.GoToRecord acForm, ("PRODUCTION TEST"), acNext
        DoCmd.OpenForm ("DETAIL PRODUCTION TEST"), acNormal, "", "[Number]=[Forms]![PRODUCTION TEST]![Number]", acEdit, acNormal
     
     
    Exit_Commande54_Click:
        Exit Sub
     
    Err_Commande54_Click:
        MsgBox Err.Description
        Resume Exit_Commande54_Click
     
    End Sub
    Peut on mettre un message après le dernier enregistrement que le message par défaut d'access "impossible d'atteindre l'enregistrement spécifié" s'il vous plait
    par le message "C’était le dernier enregistrement"
    Merci.
    C'est juste un détail , je passe le sujet en résolue .
    Si il y a quelque chose à amélioré ou de faire de façon différente ne pas hésiter .
    Merci

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

Discussions similaires

  1. [AC-2010] aller sur enregistrement précis par double-click
    Par marcmarc150 dans le forum IHM
    Réponses: 1
    Dernier message: 16/03/2019, 21h28
  2. [AC-2003] Aller sur enregistrement précis
    Par marcmarc150 dans le forum VBA Access
    Réponses: 12
    Dernier message: 03/10/2012, 22h04
  3. Bouton pour aller à l'enregistrement suivant
    Par yellowsub122 dans le forum VB.NET
    Réponses: 13
    Dernier message: 16/03/2010, 18h17
  4. Réponses: 8
    Dernier message: 14/01/2010, 23h32
  5. Réponses: 5
    Dernier message: 19/07/2007, 11h27

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