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

VBA Access Discussion :

Atteindre un sous formulaire depuis un formulaire étranger


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 916
    Par défaut Atteindre un sous formulaire depuis un formulaire étranger
    Bonjour et bonne année à tous,
    Encore un problème de sous formulaire...voilà je voudrais faire référence à un sous formulaire depuis un formulaire étranger à celui-ci.
    J'ai :
    un formulaire principal "F_Insert" et son sous formulaire "Sous_Formulaire_Insertions", je voudrais depuis un formulaire nommé "F_Insert_Rech" accéder à la source de données du sous formulaire "Sous_Formulaire_Insertions" après une suppression d'un enregistrement, j'ai codé comme ceci mais ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms!F_Insert!Sous_Formulaire_Insertions.Form.RecordSource = Forms!F_Insert!Sous_Formulaire_Insertions.Form.RecordSource
    si quelqu'un a la réponse merci

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 973
    Par défaut
    Bonjour,
    qu'est-ce qui ne marche pas : ton code ou la mise à jour du RecordSource ? Pas de message d'erreur ?

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 973
    Par défaut
    En fait, il manque un Refresh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Forms!F_Insert!Sous_Formulaire_Insertions.Form.RecordSource = Forms!F_Insert!Sous_Formulaire_Insertions.Form.RecordSource
    Forms!F_Insert!Sous_Formulaire_Insertions.Form.Refresh

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 916
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    En fait, il manque un Refresh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Forms!F_Insert!Sous_Formulaire_Insertions.Form.RecordSource = Forms!F_Insert!Sous_Formulaire_Insertions.Form.RecordSource
    Forms!F_Insert!Sous_Formulaire_Insertions.Form.Refresh
    ***********************************************************
    Merci pour ta réponse mais ça ne marche pas : Erreur 2465 disant qu'il ne trouve pas le champ "Sous_Formulaire_Insertions" peut être par apport à la version d'Access car je sais que tu utilises Access 2013 et moi 2010 mais ça m'étonnerait.

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 973
    Par défaut
    Bonjour,
    je ne sais pas quoi dire ... je croyais que la syntaxe Formulaire!ControleduFormulaire.PropriétéduControle existait depuis au moins Access 2000 mais je ne peux pas le vérifier. Ce qui m'interpelle c'est qu'on dirait qu'iil considère le contrôle SF comme un champ du formulaire actif (F_Insert_Rech).
    A tout hasard, essaie la syntaxe des objets de classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form_F_Insert.Sous_Formulaire_Insertions.Form.Requery
    sans recharger le RecordSource car si le formulaire est ouvert, normalement tu devrais voir apparaitre #Supprimé# sur l'enregistrement qui a été supprimé, il suffit juste de rafraichir l'écran.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 916
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    Bonjour,
    je ne sais pas quoi dire ... je croyais que la syntaxe Formulaire!ControleduFormulaire.PropriétéduControle existait depuis au moins Access 2000 mais je ne peux pas le vérifier. Ce qui m'interpelle c'est qu'on dirait qu'iil considère le contrôle SF comme un champ du formulaire actif (F_Insert_Rech).
    A tout hasard, essaie la syntaxe des objets de classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form_F_Insert.Sous_Formulaire_Insertions.Form.Requery
    sans recharger le RecordSource car si le formulaire est ouvert, normalement tu devrais voir apparaitre #Supprimé# sur l'enregistrement qui a été supprimé, il suffit juste de rafraichir l'écran.
    ************************************************
    Bravo à toi ça marche !!!

    Pour info j'ai essayé sur ce même formulaire de faire la même chose sur une zone de texte et là ça ne marche pas, par contre la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Texte6_AfterUpdate()
    DoCmd.RunCommand acCmdRefresh
    End Sub
    fonctionne à merveille c'est à dire si je modifie un enregistrement via ce controle et que je lui affecte cette commande pour cet évènement il modifie "en direct" le controle correspondant du sous formulaire "Sous_Formulaire_Insertions" toujours étranger à celui-ci("F_Insert_Rech").
    Cette même commande ne fonctionne pas sur l'évènement clic du bouton suppr là il me faut bien ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form_F_Insert.Sous_Formulaire_Insertions.Form.Requery
    je pense que c'est du à la requete que je fais c'est un delete sur une table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CSql = "delete from [TAB_INSERTIONS] where Tab_Insertions.N°Insertion =" & Me.Texte35 & ""
     
       CSql = CSql & ";"
     
     
       DoCmd.RunSQL CSql
    Form_F_Insert.Sous_Formulaire_Insertions.Form.Requery
    DoCmd.Close acForm, "F_Insert_Rech", acSaveYes
    Merci encore à toi.
    A +

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

Discussions similaires

  1. Accéder champ sous-formulaire depuis autre formulaire
    Par CyberMen dans le forum VBA Access
    Réponses: 5
    Dernier message: 03/01/2010, 20h46
  2. Réponses: 3
    Dernier message: 01/04/2009, 12h11
  3. Réponses: 5
    Dernier message: 31/12/2006, 15h39
  4. Acceder à un sous formulaire depuis un formulaire
    Par Access Newbie dans le forum IHM
    Réponses: 15
    Dernier message: 03/08/2006, 12h49
  5. Réponses: 2
    Dernier message: 28/10/2004, 17h54

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