Changer le recordsource d'un sous_form d'un état en vba [Résolu]

Signaler
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
-
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
-
Bonjour à tous,
J'espère que quelqu'un sur cette terre peut m'aider
Je suis désespéré et dégouté d'Access :(

J'essaye de changer par VBA le recordsource d'un sous_formulaire dans un état et je n'y arrive pas.
Pourtant, quand je veux changer le recordsource dans sous_formulaire dans un formulaire ça marche très bien.
Pour y parvenir, j'écris:

Me.ss_form.Form.RecordSource = rq_source

Et ça marche très bien. Je suis obligé de passer par le VBA car je veux changer la table en fonciton des évènements et je ne peux pas faire cela sur une requête en dur.
Mais lorsque j'écris cela dans un état, apparait alors:
erreur d'exécution 2455:
la référence d'une expression à la propriété Form/Report n'est pas valide.

J'ai essayé de l'écrire de toute beaucoup de façon mais le même message revient toujours :'(
J'ai essayé:
Lorsque j'éris ça, la complétion se fait bien et je n'ai qu'à choisir mais j'ai toujours l'erreur à la fin!
Me.ss_form.Form.Recordsource = rq_source
[REPORTS]![Bordereau]![ss_form].Form!RecordSource = rq_source

J'ai essayé de transformer le ss_form en ss_état mais ça me dit la même chose, en mettant Report à la place de Form.
Et rq_source est un string contenant soit la requête en elle même, soit le nom du requête de la base.
Aidez-moi svp, merci

TBBUIM
A voir également:

2 réponses

Messages postés
4
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
16 janvier 2004

Tu peux baser le recordsource sur une requête dont tu modifierais la propriété SQL (de l'objet Querydef ) en fonction de tes besoins

Tu peux aussi modifiers le recordsource en ouvrant le formulaire ou l'état en mode Design

OpenReport "MonEtat",acViewDesign

Modifier la propriété RecordSource
Recordsource = chaineSQL

'Fermer et enregistrer l'état

acSaveYes pour valider l'enregistrement de l'état
DoCmd.Close acReport, "MonEtat", acSaveYes

Alain
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
9
Ouais effectivement la meilleure façon de faire est d'ouvrir l'état en mode création. Car autrement c'est impossible!
TBBUIM