Calendar Form Frustration

G

Gino

In a database it is quite normal to have to assign a date to an event, a
task, an appointment, etc.; with activeX calendar controls, (or built-in, in
Access 2007) it is easy to have a minicalendar popping up.

What to my knowledge is not natively available in Access yet, is the ability
to display database records by date in a Calendar form similar to Outlook
Calendar, but self contained within Access. By searching for solutions I
found code on the internet and implemented some workarounds but they are so
cumbersome and so very heavy on resources.

What surprises me (actually really frustrates me...) is that when designing
Access forms on PCs with MS Office or MS Works installed, we discover quite a
number of DLLs and References and Objects with encouraging names such as:
"Microsoft Outlook Controls" (outlctl.dll), "Outlook Object Libary"
(msoutlb.dll),
"Microsoft Works Calendar Type Library", etc.

Some of the associated ActiveX I can actually drag onto a form but I have
never been able to work out or raise anything remotely similar to a calendar
page.
Some other objects like "Microsoft Works Calendar Block Control" or
"Microsoft Works Calendar Month Control", immediatly crash my Access 2003,
upon being dragged onto the form.

It seemed logical to me that these objects -properly referenced and
registered- could have been used as ActiveXs in a Form and would make
available all the features of Calendaring (like adding a new item directly to
the calendar, displaying week/month/year views, etc.).

So, am I missing something? Has any one been able to implement an easy
calendar form using any of these ActiveX or is it deliberate Microsoft policy
to make this so difficult?

Thank you for any suggestion and comments.
 
J

Jack Leach

I've got a bit of an idea, but it doesn't involve ActiveX (personally I avoid
these like the plague).

For an Outlook style calendar (I'm thinking the monthly view, rather large
form), make a form and fill it with 42 relatively small square subforms. Add
your month header at the top and a couple of nav buttons. Set the subforms
to continuous view and format them so the records are small enough and blend
seamlessly. Name them all in an indexing fashion in relation to their
position on the form.

Create an underlying query of all your appointments (or whatever you want to
show by date).

Build some code to determine what month the user currently has displayed on
the screen, and an algorithm to set the day numbers (which will probably have
to be a separate label on top for the cont. 'date' subform, but if you're
going to go this far that should be easy enough to blend <g>).

Set the recordsource of all the subforms as an identical parameter query of
the underlying datasource (where the parameter is the day value passed by the
algorithm... or maybe not parameter query, not sure which approach would be
most efficient here). Set the double click property of the subform detail
and controls to open a detail record for that appt (or a new one).

It may be wise to implement some sort of rotating dataset for the previous
and next months records, which can be performed in the background after the
user switches months, just to keep things moving along nicely. If you do it
directly after the requery of the subs and put some DoEvents statements on
and field dblclks, etc to keep duplicate code from running (though the user
probably wouldn't be able to get anywhere in time, but just in case).

It seems plausible, but I guess it depends on how bad you want it. I might
take a stab at it myself, at some point within the next few years.

--
Jack Leach
www.tristatemachine.com

"I haven't failed, I've found ten thousand ways that don't work."
-Thomas Edison (1847-1931)
 
G

Gino

Thank you very much for your suggestions Jack.
I understand the concept of designing a main Calendar form driven by the
month, and of subforms, one per each day of the month. I might give it a try
but I guess that it will take a lot of coding and abilities beyond my
skills....
That is why I was hoping that some of the Calendaring ActiveXs residing in
our PCs (especially the ones developed by Microsoft) could be put to work and
that someone, who had been able to use them effectively, could explain how.

I understand that versioning issues of Activex may cause difficulties when
porting to different PCs or when updating Access but in my case it would not
be more than 2 or 3 PCs and I should be able to handle that.

Thank you again.
Gino
 
J

Jack Leach

No problem. I thought the idea was a bit out there myself. Unfortunately
I'm not aware of any controls (built-in or otherwise) to offer these kinds of
features.

I think I may try this out though, I'm fairly intruiged by the concept. It
might take me a few weeks, but I do plan on seeing if I can get something
reasonable to work.

If in fact I can pull this one off, I'd be happy to report back. Being that
you may not moniter the board often, if you send me an email I'll keep it on
file and send you a copy assuming I get something going. (I won't be able to
post the db here anyway, and the code won't do much good without the
objects). My profile here has an address I can be reached at, or use info@
the website listed below (if you use this email be sure to put something in
the subject in direct relation to this so it doesn't get deleted along with
the mountains of other spam collected).

No promises, but I'm very curious to see if I can get this to work. Maybe
in a wost case scenario I can offer a shell of it that you could do some
minor customizations to for your desires.

--
Jack Leach
www.tristatemachine.com

"I haven't failed, I've found ten thousand ways that don't work."
-Thomas Edison (1847-1931)
 
G

Gino

Hi Jack,
thank you for your response.
I am excited at the idea that you may attempt to put together an Outlook
lookalike Calendaring module or activex.
Any database with a date based record would benefit from being able to
display data within a calendar view, be it by week, month or year, and I am
sure many developers will be happy to incorporate it in their projects. If
you get something going I will be happy to give you my feedback.
Separately, I sent you my email address so you can get in touch at any time

_____________________________________________________
 
K

Kim M.

Gino,
I feel your pain :) Went through the same search and also found it odd this
sort of functionality wasn't easier to create from within Access. I've got
day view and week view almost made, but these were easier because the days of
the week don't shift around in terms of their position on the form. It's
that pesky month view! Let us know if you find a solution!
Thanks,
Kim M.
 

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