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 :

Changer le RecordSource d'un sous formulaire [AC-2003]


Sujet :

IHM

  1. #1
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut Changer le RecordSource d'un sous formulaire
    Bonjour à tous,

    Je souhaite modifier le RecordSource de mon formulaire. J'ai tenté ce qui suit.

    Mon code VBA, au clic sur un bouton :
    Private Sub boutonFiltrer_Click()
    Me.ZoneRecherche.Form.RecordSource = RequeteRecherche
    End Sub
    Ma requête nommée RequeteRecherche que j'ai générée en mode création :
    SELECT Echange.etablissement, Echange.type, Echange.acteur, Echange.reference, Echange.theme, Echange.objet, Echange.criticite, Echange.dateOrigine, Echange.statut, Echange.reponseAttendue
    FROM Echange
    WHERE banque = "BP_ALL";
    Mon formulaire contient les champs, dans l'ordre :
    etablissement,
    type,
    acteur,
    reférence,
    thème,
    objet,
    criticite,
    dateOrigine,
    statut,
    reponseAttendue

    Mais quand je clique sur mon bouton, une seule ligne s'affiche dans mon formulaire et toutes les valeurs sont : #Nom.

    Je n'ai pas plus d'indication, pour comprendre mon problème... Est-ce que ce sont les noms de champ qui ne correspondent pas?! Le nom de la table? Le nom de la requete? Celui du formulaire?!

    Quelqu'un a une piste à me donner?

    Merci d'avance pour vos réponses.

    PS : Vu sur la documentation M$Office :
    Le paramètre de la propriété RecordSource peut être un nom de table, de requête ou une instruction SQL.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Essaye en ajoutant Me.ZoneRecherche.Form.recalc après Me.ZoneRecherche.Form.RecordSource = RequeteRecherche.

    Sinon vérifie aussi le nom des champs associés aux contrôles y-a-t'il [NomCahmp] ou [NomTable].[NomChamp].

    Enfin plutôt que recalculer ta requête, tu peux peut-être simplement appliquer un filtre avec les propriété filter et filterOn.

    A+

  3. #3
    Membre actif Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Points : 229
    Points
    229
    Par défaut
    Merci Marot,

    J'ai essayé Me.ZoneRecherche.Form.recalc, mais j'obtiens le même résultat.

    J'ai bien vérifié le nom de contrôles du formulaire, ils ont bien le même nom que leur champ. La propriété "source contrôle" est aussi la bonne... Si quelqu'un a une idée pour cette solution, c'est toujours bon à savoir.

    Sinon, j'ai réussi en utilisant les propriétés Filter et FilterOn. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'Me.ZoneRecherche.Form.RecordSource = RequeteRecherche
    'Me.ZoneRecherche.Form.Recalc
     
    Dim s As String
    s = "BP_ALL"
     
    Me.ZoneRecherche.Form.Filter = "[banque] = """ & s & """"
    Me.ZoneRecherche.Form.FilterOn = True

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

Discussions similaires

  1. [AC-2010] Changer de RecordSource d'un sous-formulaire
    Par Rifton007 dans le forum IHM
    Réponses: 11
    Dernier message: 07/03/2013, 08h56
  2. Probleme affichage avec recordsource dans un sous formulaire
    Par tamalkasi dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/08/2010, 15h08
  3. Changer la source d'un sous formulaire en mode continu
    Par jmde dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/07/2008, 18h14
  4. Changer Source Objet d'un sous-formulaire
    Par vandrie dans le forum IHM
    Réponses: 6
    Dernier message: 28/11/2007, 14h48
  5. changer la source d'un sous-formulaire
    Par ac264 dans le forum IHM
    Réponses: 5
    Dernier message: 11/10/2007, 22h57

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