Hello and Welcome to Access Tips & Tricks by Albert Kallal.
In this video, Albert shows an Outlook-style Calendar
running in a Browser using Access 2010.
The big news for Access 2010, in case you haven't heard,
is we now have the ability to create websites
and publish our applications to the web.
In this demonstration, I am going to show some features that allowed me to build a website.
As it turns out, these features are also a benefit to long-time Access developers.
Lets minimize the nav pane and then I'll click on the new ribbon minimize button to give us some more room.
On the left side, we have what is called the new Navigation Control.
This nice cursor hover highlighting feature is available for all buttons in Access
including client-only applications.
It is obvious that this Navigation Control solves the problems
of how one would set up web-based navigation.
In addition, this control is also terrific for setting up navigation in client-based applications.
This application allows staff to book meeting rooms that typically exist in most company environments.
This room configuration screen is based on an Access continuous form.
Continuous forms have always been one of my favorite features in Access.
These continuous forms are a great way in Access to display a grid of repeating data.
Since the Access Picture Control now allows repeating pictures in these forms,
then we don't need any 3rd-party add-ons to make a great looking screen like this.
These Picture Controls open up so many possibilities for Access applications.
That column of pictures could even be some type of graphic
that shows the status of a project
or, perhaps, just a picture in a parts catalog display.
Lets drill down further to open up the room details and configuration form.
Again, we see that great Picture Control in action here.
Here is another room and, to further show off the Picture Control, I simply added a few more pictures to that room.
The end result is that
now you can have multiple views of that room.
Here is the front, then side, then the back view of the room.
For the next room, it is an outside patio.
I not only added a Picture Control,
I also used the new Web Control.
I am using the Web Control to show the current outside weather conditions.
We don’t want to book this room if it is raining.
This Web Control is rather amazing since you combine the URL of this control
to a column in your database.
Here I bound the control to a URL that gives me the weather for this location.
For different locations, it would be a snap to change the URL.
I suppose you could even bind this control to a webcam URL, if you wanted to.
I can’t even begin to scratch the possibilities of this new control.
Don't forget -- this control works both in client-side applications
or for the new web applications you might plan to build.
Lets now bring up this application in a Web Browser.
The next feature I want to talk about is the new table triggers, or what we call Data Macros.
Data Macros are much the key to building web applications
since they allow you to separate program logic from the user interface.
While we are at this, I should point out that
the fidelity and rendering of this application in a Browser is first-rate.
There is no Active-X or SilverLight required here
and yet our continuous form renders with a quality that rivals the desktop form.
Lets take a look at the booking calendar I built.
This full-size Outlook-style calendar is simply a bunch of textboxes placed on a form.
I then bound this whole form to a table in the database.
Navigation to the next month is a few lines of code
that sets the form's filter to the month and year.
Everything else being bound in this form
results in a silky-smooth updating of this display … even in the Browser!
Most people tend to think of table triggers for things like aggregating sales totals.
In a sense, my aggregates are blocks of text
being pushed into the calendar by these neato table triggers.
With so little code in the calendar,
I could easily drop this form into one of your existing applications with great ease.
Updating and management of the text in the calendar is done at the table level
and this separation of UI (User Interface) means
I don't have to rewrite the display parts of the code
when using the calendar for other applications.
I could, for example, change this calendar from displaying room bookings
to displaying daily sales totals, or even weight of goods shipped by a loading dock.
Note that each square is clickable and can launch forms to display details for a given day,
so this calendar is kind of a dashboard-type of display.
In this booking detail form, I wanted to avoid the user
from having to dance from mouse to keyboard and back to mouse,
so I built my own time-picker control with 4 listboxes.
Now, setting time is usually just one or two mouse-clicks.
Now let me show you a data trigger in action.
Lets change the date of this booking
and move it forward one day.
Note that the even the Date Picker works in the Browser
and allows you to change the date without having to jump over to the keyboard.
When this form closes, the continuous form below does have a requery command
and does now display one booking record for this day.
The calendar form below has not yet had a chance to refresh since I am in a dialog form.
Lets watch the date text in the calendar change and update when I close this form.
Is that neat or what?
All text in the calendar is being managed by those table level macros.
Those table triggers are like a bunch of little worker bees buzzing around in the background
and their sole job in life is to maintain and update the calendar data.
At the end of the day, these data macros allowed me to build
a great looking Outlook-Style Calendar … and one that runs in a Browser!
Even the standard Browser Control mouse-wheel to zoom and resize the screen works here,
so these new table level Data Macros are not just for totalling up financial data.
They have near endless uses in typical business applications that one would write in MS Access.
I find this new table-level programming model encourages designs that allow you to quickly react
to your changing business needs.
You can likely change your application in less time than it takes to have a meeting
with your web and database development team --
in fact, with Access, I don't think you need that team of people anymore.
Thank you, Albert Kallal, for showing some of the amazing features in Access 2010! -- Crystal :)