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 :

ouvrir formulaire access par "controle onglet" en modes "add" ou "edit"


Sujet :

IHM

  1. #1
    Membre du Club Avatar de thiefer
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 94
    Points : 61
    Points
    61
    Par défaut [A-03] ouvre un même formulaire par "controle onglet" en modes "add" ou "edit"
    Bonjour,

    J'utilise un menu de navigation à 5 onglets pour mon application de gestion de mes entraînements.

    a ) En cliquant sur l'onglet2 du contrôle onglet, je souhaite ouvrir mon formulaire "F_gl" en mode acFormadd seulement.
    Comment puis-je paramétrer l'ouverture de mon formulaire car il ne semble pas y avoir de code DoCmd.OpenForm depuis le controle onglet ?

    b ) De plus, je souhaite adapter le formulaire de recherche de Loufab pour, en double-cliquant dans la liste de résultats sur l'enregistrement à éditer, switcher l'onglet3 de mon contrôle en mode visible=true et y ouvrir mon même formulaire "F_gl" en mode normal sur l'enregistrement concerné.
    Comment dois-je modifier le code pour le faire fonctionner svp ?

    Mille mercis par avance

    cdlt

    TF

  2. #2
    Membre du Club Avatar de thiefer
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 94
    Points : 61
    Points
    61
    Par défaut I need help !!!
    Bonjour,

    désolé d'insister mais je ne m'en sors pas du tout.
    J'espère que quelqu'un parmi vous prendra la peine de me donner un coup de pouce...


    Je dispose d'un formulaire f_principal composé d'un contrôle à 5 onglets dont voici un extrait du code traitement on_change :
    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
    18
    19
    Private Sub CtlTab0_Change()
        ' On récupère l'indice de l'onglet actif
        Select Case Me.CtlTab0
            Case 0  ' Rechercher
                Me.lbl_No_Onglet.Caption = Me.CtlTab0
    ...
            Case 2  ' Ajouter un enregistrement
                Me.lbl_No_Onglet.Caption = Me.CtlTab0
                Me.AllowAdditions = True
                Me.AllowDeletions = False
                Me.AllowEdits = False
            Case 3  ' Modifier, Supprimer
                Me.lbl_No_Onglet.Caption = Me.CtlTab0
                Me.AllowAdditions = False
                Me.AllowDeletions = True
                Me.AllowEdits = True
    ...
        End Select
    End Sub
    Ce formulaire fait donc appel à un formulaire de gestion de mes tables principale (f_gl) et secondaire (cette dernière en sf_competitions)

    Les propriétés de f_gl sont définies comme suit :
    Filtrage autorisé = Oui
    Modif autorisée = Oui
    Suppr autorisée = Oui
    Ajout autorisé = Oui
    Entrée données = Oui
    J'ai fait le test avec les trois types de recordset :
    - les deux en feuille de réponse dynamique font que en case 2 & 3, j'arrive sur un formulaire ouvert en saisie (1 seul enregistrement vide)
    - le mode "instantané" affiche mon formulaire en case 2 & 3 en mode visu (487 enregistrement consultables mais non modifiables)

    Je ne sais plus par quel bout prendre le problème !!!

    Ce que je cherche à faire :
    a ) en Case 0, je suis sur le formulaire de recherche de Loufab
    J'ai une zone de liste lst_resultats pour tous les enregistrements que j'ai sélectionné
    En double cliquant sur l'un des enregistrements, je souhaite pouvoir y accéder dans l'onglet Case 3 : formulaire f_gl en mode Modification / Suppression

    Mon code actuel que je n'arrive pas à adapter ouvre une fenêtre popup par DoCmd.OpenForm en me positionnant par strCriteria :
    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
    18
    19
    20
    21
    22
    23
    Private Sub lst_resultat_DblClick(Cancel As Integer)
     
    Dim rst As Recordset
    Dim strCriteria As String
     
    Set rst = CurrentDb.OpenRecordset("tbl_TempLstFrm", dbOpenSnapshot)
    ' recherche les informations de la table
    rst.FindFirst ("Table='" & Me.cbo_table & "'")
     
    If rst.NoMatch Then ' non trouvé
        MsgBox "Cette table ne possède pas de formulaire. Veuillez renseigner la table des paramètres.", _
                vbCritical + vbOKOnly, "formulaire de Recherche"
        Exit Sub
    Else ' trouvé
        If lf_GetTypeField(Me.cbo_table, rst.Fields("Champ")) = dbText Then 'la clef est Texte
            strCriteria = rst.Fields("Champ") & "='" & Me.lst_resultat & "'"
        Else 'la clef est numérique
            strCriteria = rst.Fields("Champ") & "=" & Me.lst_resultat
        End If
        DoCmd.OpenForm rst.Fields("Formulaire"), acNormal, , strCriteria, , acDialog
    End If
     
    End Sub
    b ) Lorsque je clique sur l'onglet Case 2, comment ouvrir f_gl en mode Ajout ?

    J'espère avoir été suffisamment précis dans mes explications,
    Merci par avance de votre aide

    TF

  3. #3
    Membre du Club Avatar de thiefer
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 94
    Points : 61
    Points
    61
    Par défaut résolu
    Bonjour à tous,

    bon et bien j'ai fini par trouver quelques bonnes âmes qui m'ont donné la main et permsi de régler ceci.
    Si cela peut aider, voici comment j'ai procédé :
    un formulaire menu avec contrôle onglet, f_principal contenant plusieurs sous-formulaires indépendants dont une fois f_records en mode ajout et une fois f_records en mode édit.
    Le sous_formulaire de recherche (loufab) fait appel au sous_formulaire f_records en mode edit en doucle cliquant sur une ligne de la zone de liste lst_resultat
    f_records sur l'onglet ajout est nommé f_addrecord, sur l'onglet édition, f_editrecord
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            Forms!f_principal!ong_edit.Visible = True
            Forms!f_principal!ong_add_record.Visible = False
     
            Forms!f_principal!CtlTab0.Value = 3
     
            Forms!f_principal!f_editrecord.Form.AllowEdits = True
            Forms!f_principal!f_editrecord.Form.AllowDeletions = True
            Forms!f_principal!f_editrecord.Form.AllowAdditions = False
            Forms!f_principal!f_editrecord.Form.Dataentry = False
     
            Forms!f_principal!f_editrecord.Form.Filter = strCriteria
            Forms!f_principal!f_editrecord.Form.FilterOn = True
    Un extrait sous-formulaire menu f_principal est le suivant
    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
    18
    19
    20
    21
    22
    23
    24
    25
    Private Sub CtlTab0_Change()
    ...
        Select Case Me.CtlTab0
            Case 0  ' Rechercher
                Me.lbl_No_Onglet.Caption = Me.CtlTab0
                Me.ong_edit.Visible = False
                Me.ong_add_record.Visible = True
     
                Forms!f_principal!f_editrecord.Form.FilterOn = False
    ...
     
            Case 2  ' Ajouter un enregistrement
                Me.lbl_No_Onglet.Caption = Me.CtlTab0
     
                Forms!f_principal!f_addrecord.Form.AllowEdits = False
                Forms!f_principal!f_addrecord.Form.AllowDeletions = False
                Forms!f_principal!f_addrecord.Form.AllowAdditions = True
                Forms!f_principal!f_addrecord.Form.Dataentry = True
     
            Case 3  ' Modifier, Supprimer
                Me.lbl_No_Onglet.Caption = Me.CtlTab0
     
    ...
        End Select
    End Sub
    En espérant que cela puisse aider

    @+

    TF

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2015, 16h31
  2. [AC-2010] ouverture d'un formulaire access par un fichier html
    Par killowatt dans le forum Access
    Réponses: 5
    Dernier message: 26/03/2015, 10h40
  3. Réponses: 8
    Dernier message: 03/01/2007, 10h51
  4. Réponses: 1
    Dernier message: 25/04/2006, 12h03
  5. Réponses: 1
    Dernier message: 28/01/2006, 17h39

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