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

tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention - 16 janv. 2004 à 09:39 - Dernière réponse : tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention
- 9 avril 2004 à 10:07
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
Afficher la suite 

2 réponses

Meilleure réponse
Alain440 4 Messages postés jeudi 8 janvier 2004Date d'inscription 16 janvier 2004 Dernière intervention - 16 janv. 2004 à 17:12
3
Merci
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

Merci Alain440 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention - 9 avril 2004 à 10:07
0
Merci
Ouais effectivement la meilleure façon de faire est d'ouvrir l'état en mode création. Car autrement c'est impossible!
TBBUIM

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.