Form maximizing and runtime questions

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have three questions:

1) I want a specific form to remain full-screen, and when I open other
forms, they are NOT full-screen, but lay on top of the full-screen one. How
can I do that?

2) If I create a runtime (exe) package for distribution, can I have linked
tables into a database-only backend, or do I have to have all tables local?
The end-user might not have Access on his/her system, and I need to know how
to deal with this issue?

3) How can I *not* allow the database object window to show/be accessible to
users, or does creating the runtime package automatically disallow that?

Thanks!!
 
Dennis said:
I have three questions:

1) I want a specific form to remain full-screen, and when I open other
forms, they are NOT full-screen, but lay on top of the full-screen
one. How can I do that?

Probably you should make the other forms PopUp. Then you can maximize
the one form without affecting them, or (using code that calls the
Windows API) force its window size to just fit within the Access
application window.
2) If I create a runtime (exe) package for distribution, can I have
linked tables into a database-only backend, or do I have to have all
tables local? The end-user might not have Access on his/her system,
and I need to know how to deal with this issue?

You can use linked tables. I hope you are aware that you cannot
actually make an Access application into an .EXE file. What you can do,
if you buy the Developer's Edition (or whatever the equivalent is for
your version of Access), is distribute your application with the Access
runtime module. None of the built-in Access user-interface tools or
add-ins will be available, though, so you have to provide your own
mechanism to verify the table links and re-link the tables if necessary.
3) How can I *not* allow the database object window to show/be
accessible to users, or does creating the runtime package
automatically disallow that?

I'm not sure, because I haven't done it, but I think you have to set the
option to not show the database window at startup, and set the
AllowBypassKey option to False so that users can't show the database
window by holding down the Shift key while opening your application. Be
sure to leave yourself a special way to get in.

Also, distribute an MDE file as your front-end, not an MDB. That will
keep users from being able to get into your code, and make it very hard
for them to get at the design of forms and reports.
 
1. Maximize, Minimize, and Restore are globally applied to all objects in
the MDI window...meaning you can't do what you want without doing a lot of
API work. As an alternative, you might make the forms that you want to "lay
on top of the full screen one" subforms on the "full screen one". The
effect would be the same...perhaps better because you'd have control over
where the other form is positioned.

2. You need to include code in your database that allows the user to locate
and relink to the backend database. See example at

http://www.mvps.org/access/tables/tbl0009.htm

3. The database window does not show in the runtime. However, you should
set the Startup options for the database (see Tools|Startup) anyway. You
might also consider setting the AllowBypassKey property to false (see help
for AllowBypassKey or google).
 
Paul Overway said:
1. Maximize, Minimize, and Restore are globally applied to all objects in
the MDI window...meaning you can't do what you want without doing a lot of
API work.

Actually, that is not so. Without question, if a form if maximized,then the
next form launched is also maximized. However, the reverse is not true. The
"reverse" being that if you launch a form that is NOT maximized, and you
removed the min/max buttons from the form (I do that for just about all
forms anyway), then the if these additional forms are maximized, and then
you close them to return to this original form..it will NOT take the max
setting (and, since here is no min/max buttons...this kind of makes
sense..as you can't control it!!!).

However, you are 100% correct in that if a forms is maxed...then ALL forms
opened AFTER the form will also be maxed. However, when you remove the
min/max buttons from a form...then they do NOT take on the setting of forms
that are opened after. This in fact might be great news..but I should add
that my above tip does NOT help the original poster!!

Hence, for example, ALL of my reports first line is

docmd.Maximize

However, when that report is closed, the form that called the report is NOT
maximized because I removed the min/max buttons. I do this virtually for all
of my reports. You can see/try an example of this in the multi-select
example of mine.

http://www.members.shaw.ca/AlbertKallal/msaccess/msaccess.html

If you launch the report...it looks nice and maximized, .but when you close
it you return to a form, and it will not be maxed. This approach also works
for forms launching other forms.
 
Yes...I stand corrected...it does depend on the properties set on the
form(s) and the user context.

Going back to the OP's question though, I don't think what he was trying to
do was a good idea...unless the second form was just being popped up for
quick data entry/review. Doug's pop up suggestion might be appropriate, if
the user doesn't need to switch back and forth between forms. It would be
really annoying to have to pop up the form if the user needed to switch back
and forth though. Also, if they do need to switch back and forth and the
other form isn't a pop up or opened from the maximized form with acDialog
arg, i.e., you removed the min/max...it would still be annoying because the
maximized form would hide the smaller one. I try to avoid situations like
that.
 
Yes...I stand corrected...it does depend on the properties set on the
form(s) and the user context.

Going back to the OP's question though, I don't think what he was trying
to do was a good idea...

Yes, I certainly agree with you. ...and as mentioned...not a big deal
here...as my suggestion is not much use to the OP!

I think the best solution is to use code to re-size the first form, and
there is/was some code floating around to do this...just can't find it
now....
 
Back
Top