[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


clos par 3Stone le 04/06/2013 : 23:33  Sujet n° 669  section d'état

le 27/03/2013 : 08:23
par arch

Anonyme

visiteur

bonjour à tous
lorsque je crée un état basé sur une table avec un assistant j'obtiens
un en-tête d'état, un en tête de page, une section détail, un pied de page et un pied d'état... nominal e
si je cherche à créer (vba) un état avec
DoCmd.OpenReport strReportName, acViewDesign, , , acNormal
J'obtiens un état dont les en-tête et pied d'état sont masqués. d
(si j'ouvre le formulaire avec l'outil de création d'état, j'ai, après un clic droit sur l'en tête de page, accès au choix en-tête/pied de rapport.)
Si revenant au code je cherche à rendre visible ces en-tête et pied de rapport avec
Rapport.Section(acHeader).Visible = True ou
Rapport.Section(1).Visible = True

je me fais jeter avec
erreur d'exécution '2462' : numéro de section non valide y
les autres section restant adressables. (par exemple acPageHeader)
Que n' ais-je pas compris?
Merci de vos réponses
 sujet clos  Haut
Réponse n° 1
--------
le 27/03/2013 : 17:27
par 3Stone

3Stone

Administrateur

Bonjour,

Pour créer un état, il faut utiliser CreateReport !
Quelque chose comme :
Code :
Dim rpt As Report
Set rpt = CreateReport
 De la même manière, on utilise CreateReportControl pour créer les différents objets sur cet état.

Note, créer complètement un état demande un très bonne connaissance du VBA et de la manière qu'Access gère ces états. Et il faut une faut un bonne raison pour vouloir faire cela.
Un chemin nettement plus simple est de créer un état "modèle" et d'y modifier la source des contrôles par VBA.

Cordialement,
Pierre(3stone)
  clos par 3Stone le 04/06/2013 : 23:33  Haut
Réponse n° 2
--------
le 27/03/2013 : 18:24
par arch

Anonyme

visiteur
Bonjour Pierre
Merci pour ta réponse.

Effectivement mon code comporte
Dim Rapport As Report

Set Rapport = CreateReport
strReportName = Rapport.Name
DoCmd.OpenReport strReportName, acViewDesign, , , acHidden
Rapport.Section(acHeader).Visible = True


et mon erreur survient au moment ou je cherche à accéder d'une manière ou d'une autre (ici en l'occurence avec .visible) à la section acHeader.
Les autres (ex: acPageHeader) ne me provoquent pas cette erreur.

la bonne raison c'est que je cherche justement à apprendre cet aspect des états
e
Cordialement
Christophe
  clos par 3Stone le 04/06/2013 : 23:33  Haut
Réponse n° 3
--------
le 01/04/2013 : 16:54
par arch

Anonyme

visiteur
Bonjour à tous

Voici un élément de réponse.
si j'ai bien compris lors de la commande createreport l'en tête te le pied de page n'existe pas encore. Il faut insérer la commande

RunCommand acCmdReportHdrFtr pour pouvoir y accéder.

Le code devient alors :
Dim Rapport As Report

Set Rapport = CreateReport
strReportName = Rapport.Name
RunCommand acCmdReportHdrFtr
DoCmd.OpenReport strReportName, acViewDesign, , , acHidden


Cordialement
  clos par 3Stone le 04/06/2013 : 23:33  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut