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 :

Lien formulaire sous formulaire


Sujet :

IHM

  1. #1
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut Lien formulaire sous formulaire
    Bonjour,

    J'ai dans un onglet de formulaire un sous formulaire.
    Ce sous formulaire sert uniquement à voir une liste de données.
    Dans ce même onglet j'ai des champs identiques au sous formulaire qui viennent directement de la table.

    Le but étant de pouvoir les modifier.

    Je voudrais savoir s'il est possible de faire apparaitre dans les champs texte du formulaire les données correspondant à celles du sous formulaire ou le curseur se trouve.
    Il s'agit une liste d'articles qui dans certains cas peuvent être nombreux.
    Actuellement je fais un défilement des articles par boutons de commandes dans le formulaire.
    Actuellement tout fonctionne

    J'espère avoir été assez clair. Je joins une copie écran.

  2. #2
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    bonsoir
    tu peux essayer quelque chose comme sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Current()
    Dim rs As Object
     Set rs = Forms!NomFormPrincipal.Recordset.Clone
     rs.FindFirst "[Referance] = " & Str(Nz(Me![Referance], 0))
     If Not rs.EOF Then Forms.NomFormPrincipal.Bookmark = rs.Bookmark
    End Sub
    Code a mettre sur le sous form
    Remplacer NomFormPrincipal par le nom du formulaire
    j'ai mi le code sur la procedure activation mais tu peux aussi le mettre ailleur
    tout depand de comment tu vas selectionner les enregistrement dans le sous form.

  3. #3
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Merci Renardo pour ta rapidité,

    J'ai un petit soucis dans ton code, le déboggeur me donne une situation ambigue.

    Voilà ce que j'ai mis sur activation du sous formulaire. Surement une erreur dans les champs, l'arrêt se faisant sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim rs As Object
     Set rs = Forms![Modif clients].Recordset.Clone
     rs.FindFirst "[nom du champ du formulaire] = " & Str(Nz(Me![nom du champ du sous formulaire], 0))
     If Not rs.EOF Then Forms.[Modif clients].Bookmark = rs.Bookmark

  4. #4
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Normal j'ai utilisé un champ numerique pour un champ texte
    essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim rs As Object
     Set rs = Forms![Modif clients].Recordset.Clone
     rs.FindFirst "[nom du champ du formulaire] = ' " & Me![nom du champ du sous formulaire] & "'"
     If Not rs.EOF Then Forms.[Modif clients].Bookmark = rs.Bookmark

  5. #5
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Bon ca va mieux (plus de bug) sauf que la procédure ne me donne rien.

    J'ai conservé le nom du champ référence extincteur pour les 2 noms de champ car sinon si je met le nom du champ du formulaire (référence) il me dit qu'il ne le trouve pas.

    Le but est d'afficher dans les champs textes du dessous les valeurs qui se trouvent dans le sous formulaire ayant le curseur dessus.

    Merci encore

    Peut être une copie de la base ?

    Voici la copie.

    Marcopololo

  6. #6
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    si tu peux l'envoyer se sera plus rapide

  7. #7
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    le premier probleme est qu'il faut un champ avec une valeur unique Style numero auto
    2 eme probleme on ne peut pas utilise ensuite la relation pere et fils du sous form

  8. #8
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Alors le champ Client est égal à un numéro unique puisque je n'autorise pas les doublons dans l'enregistrement. Cela peut il suffire ?

    Marcopololo

  9. #9
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Je t'envoi un modele de ce que tu peux faire dit moi si cela peut te convenir si tu as besoin d'info dit le moi

  10. #10
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Alors j'ai essayé et c'est pas mal du tout.
    Je t'avouerai que au niveau du code c'est balaise, il va falloir que je m'arrache les cheveux dessus pour le commenter.

    J'ai fais quelques petites modifs pour masquer le champs N°.

    Par contre j'ai un petit soucis en retransférant dans ma base il y a un bug sur le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Current()
    Dim rs As Object
    Set rs = Forms![Modif clients].Recordset.Clone
     rs.FindFirst "[N°] = " & Str(Nz(Me![N°], 0))
     If Not rs.EOF Then Forms![Modif clients].Bookmark = rs.Bookmark
    End Sub
    Code de champ ou propriété introuvable. Pourtant je l'ai bien rajouté dans ma requète ?

    Encore merci

  11. #11
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Qu'elle genre de transfer a tu fait?

  12. #12
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    J'ai fait une importation du formulaire modif clients, du sous formulaire et j'ai modifié la requète dans ma base pour rajouter le champ N°.

    a priori cela vient du sous formulaire car si je le lance tout seul j'ai la même erreur. Impossible de trouver le formulaire modif clients auquel il est fait référence

    Je viens de faire un test, si je lance directement le sous formulaire dans la base que tu as faite, j'ai exactement la même erreur. Par contre sije lance le formulaire tout est OK??

    Par contre je n'ai pas utilisé ta boite de sélection client. Le code n'est pas utile ?

    Marcopololo

  13. #13
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Il est normal que si tu lance le sous form qu'il cherche le formulaire modif clients
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Par contre je n'ai pas utilisé ta boite de sélection client. Le code n'est pas utile
    intègre le il va recréer la requete
    Sinon verifie si le champ N° est bien dans le sous form et dans le formulaire
    vérifie aussi que les champs porte bien le nom de N° et qu'il son bien alimenté par ta requete
    Si cela ne donne rien poste ta base complete

  14. #14
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Bon,

    Je commence à comprendre, c'est le code du formulaire clients qui créé la condition pour la requête modif clients.
    Je te remet la base car je fonctionne avec un groupe d'option et je ne suis pas sur de l'emplacement du code du formulaire client.

    Encore merci

    Marcopololo



    Bon j'ai un peu avancé, j'ai collé le code du formulaire client ici :

    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
    26
    27
    Private Sub Modifier_Click()                              'Mofification des informations d'un client
    
    Dim SQL As String
    
    If CurrentProject.AllForms("Modif clients").IsLoaded Then
            DoCmd.Close acForm, "Modif clients"
        End If
            
           SQL = "SELECT DISTINCTROW Clients.[Code Client], Clients.NomEntreprise, Clients.Adresse, Clients.Ville, Clients.Département, Clients.CodePostal, Clients.Contact, Clients.N°Tél, Clients.N°Fax, Clients.Catégorie, Clients.Fonction, Clients.[Règle R4], Clients.[Date dernière visite], Clients.[Vacation fixe], Clients.[Prime pour extincteur], Clients.[Prime pour extincteur Auxiliaire], Clients.[Prime pour extincteur roues], Clients.[Prime pour RIA], Clients.[Nouveau Client], Clients.[Perte client], Clients.[Cessation client], Clients.[Date perte], Clients.Email, Clients.[Correctif euro], [Liste extincteurs].[Référence Extincteur], [Liste extincteurs].nombre, [Liste extincteurs].Localisation, [Liste extincteurs].Année, Clients.Commercial, Clients.N°Portable, [Liste extincteurs].N° "
    SQL = SQL & "FROM Clients LEFT JOIN [Liste extincteurs] ON Clients.[Code Client] = [Liste extincteurs].[Code Client] "
    SQL = SQL & "WHERE (((Clients.[Code Client])=" & Me.SélectionClientCode & ")) "
    SQL = SQL & "ORDER BY Clients.[Code Client], [Liste extincteurs].[Référence Extincteur]; "
    DoCmd.DeleteObject acQuery, "Requête Modif Clients"
    CurrentDb.CreateQueryDef "Requête Modif Clients", SQL
            
        Select Case Me.RechercheClientPar
            
            Case 1
                DoCmd.OpenForm "Modif clients", , "", "[Code Client]like '" & Nz(Me.SélectionClientCode, "*") & "'"   ', , Me.Name
            Case 2
                DoCmd.OpenForm "Modif clients", , "", "[NomEntreprise]like '" & Nz(Me.SélectionClientNom, "*") & "'"  ', , Me.Name
            
        End Select
        
        DoCmd.Close acForm, "Recherche de client"      'Ferme le formulaire de recherche de client
        
    End Sub
    Pr contre la variable SQL ou doit elle être déclarée en début de routine?

    Bon j'ai avancé un peu, j'ai créé la variable SQL. Maintenant le problème vient du fait que je n'utilise pas la même structure que toi pour ma recherche de client. J'ai remplacé liste0 par sélectionCodeClient. Cela fonctionne mais comme j'ai la possibilité d'ouvrir ce formulaire par le nom est ce que je peux faire un OR sur le code de SQL?

  15. #15
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    salut
    je regarde ta bd je te tien au courrant

  16. #16
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    essai comme ceci

  17. #17
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Merci Renardo. C'est impeccable.

    J'apprécie beaucoup ton aide qui a été très formatrice.

    Marcopololo

  18. #18
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    si tout fonctionne comme tu le veux ses formidable
    A+

  19. #19
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    J'ai parlé trop vite il me reste un petit truc qui coince. C'est au niveau de l'actualisation.

    Pour une suppression je l'ai mise sur le bouton poubelle.

    Par contre quand je créé un nouvel extincteur là je n'arrive pas à actualiser. Il faut que je sorte et ensuite c'est bon.

    Par contre les données apparaissent bien dans le sous formulaire mais lors du défilement elles sont ignorées.

    Mais cela va venir.

    Encore merci

    Marcopololo

  20. #20
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    essai de rafraichir le form a la fermeture de nouvel extincteur
    Pour la poubelle tu peux ajouter
    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 Suppression_extincteur_Click()
    On Error GoTo Err_Suppression_extincteur_Click
    
    
        DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
        DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
        Me.Requête_Modif_Clients_sous_formulaire.Requery
        Me.Recordset.Requery
        Exit_Suppression_extincteur_Click:
        Exit Sub
    
    Err_Suppression_extincteur_Click:
        MsgBox Err.Description
        Resume Exit_Suppression_extincteur_Click
        
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2010] Formulaire - Sous formulaire - Sous sous formulaire
    Par meli74 dans le forum IHM
    Réponses: 1
    Dernier message: 21/04/2011, 19h35
  2. Réponses: 4
    Dernier message: 11/04/2007, 18h46
  3. formulaire/sous formulaire/sous formulaire
    Par aimejielle dans le forum Access
    Réponses: 1
    Dernier message: 24/07/2006, 22h48
  4. Réponses: 1
    Dernier message: 10/07/2006, 09h15
  5. liens entre sous formulaires
    Par delpiero10 dans le forum Access
    Réponses: 1
    Dernier message: 07/09/2005, 23h09

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