Access 2007 Ribbon

G

Guy

Hi All,

Following the angst and frustration of my earlier postings (the learning
curve syndrome, lack of global knowledge, and pressures of budget and time
constraints) on this subject, would like to report that much progress is
being made.

Hi All,



Following the angst and frustration of my earlier postings on this subject
(the learning curve syndrome, lack of global knowledge, and the pressures of
budget, cost and time constraints) I would like to report that much progress
has been made in the management of many Ribbons in a large Access (ADP)
application which I hope will be relevant to any significant Access
solution.



The initial elegant solution proposed by Albert Kallal (MVP) I believe is
very close to the mark (see previous postings). Thanks Albert.



Assume that each form is storing the state of it's associated ribbon in a
ribbon class (1 "ribbon class" instance per form) and the ribbon callbacks
have access to that instance.



The issues I have are related to the timing of Ribbon Invalidate events.
Apologies in advance if any of the following observations are incorrect,
this is but a day or two's work; I haven't found the knowledge to the
contrary elsewhere, and I don't have direct access to the MS hierarchy.



Assuming that a form is fully loaded but not the active form, and you are
sharing a Ribbon amongst many forms. a shared ribbon form then becomes the
active form, therefore potentaially you need to reset the ribbon state:



1) A) If you are using a ribbon that doesn't fire any of the
enable/label/visible callbacks then the invalidate event is fired
automatically when the form is activated (as you would expect)

B) If you are using a form that uses a ribbon with any of these callbacks
then it doesn't and you need to fire the event using an invalidate call.



2) In B) whilst I place an invalidate call in the Activate_Form event
for such circumstances it isn't always fired consistantly. Debug.Print
statements show that sometimes the Form_Activate event doesn't appear to
even get fired and therefore the ribbon invalidate event doesn't occur (I
accept that the events may occur but the output stream doesn't capture them)
but whatever... the net result is currently I am having problems getting
shared ribbons with callbacks to work, even though each form independantly
maintains the ribbon state.



The questions I have are:



1) Should we be trying to use shared form ribbons or focus on one
ribbon per form?

2) When do Invalidate events occur? (they also appear to occur in the
on current record event, which of course makes perfect sense)



Just trying to nail down the management of A2007 ribbons.



Your assistance appreciated

Guy
 
G

Guy

Apologies for the typo's, but it's late at night here and I'm still
working... may get to eat soon.

Any thoughts appreciated.
Guy
 
G

Guy

Hi All,

Another question...

3) Should I maintain an independent (as in not rely on
screen.activeform/report) global reference?

From my experience so far the Ribbon, which is stateless, is endevouring to
interact with a state driven environment.

I believe many of the issues I am experiencing, especially with shared
ribbons, may be due to:

1) Event timing problems and reliance on the above properties.
2) Code in an object not completing before a callback occurs.

Again apologies if these observations are incorrect. I'm just in such of
ribbon management knowledge.

Guy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top