Example Report forms
(Rides Reservations)

In this example, the selection option is a tour bus. The user can select 1 bus, or as the instructions say, can select multiple buses. After selecting a bus, then they can select one of the several reports. In addition, there is a email button, and Word button. Selecting the Word button launches ms-word in merge mode. Selecting the Email button launches the email client with all of the email names already inserted to the CC/BC field.

In the following example, I don't use the report listbox trick. The user is simply presented with a bunch of selection options. There is actually only two reports, and depending on what options the user selects, a different report is launched. The fact of a different report being launched is NOT known by the user. The "Edit" list button brings up the *same* selection in a datasheet view (actually a continuous form). This datasheet looks very much like the report, and thus since the report is for someone to work with, they might as well work the list on the screen. The continues form becomes a select list. In fact, each sales rep spends a major portion of their day in this "Edit list". While some options are hard coded, several are based on the database.

The following example uses 2 calendar 8 objects to select the date. In fact, I NEVER allow the user to type in the date for report selecting. There is no need when we have such a nice interface available. It also reduces selection errors since MM/DD/YYYY, or DD/MM/YYYY can not be mixed up.

Since we are using forms, then you can also make things a bit easier by giving the user some "steps". Again, the whole idea here is to make things user friendly. While not quite a wizard, attention is placed to the "order" in which things are to be done. This can reduce the learning curve to a form by a lot. Here is an example of my common use of Steps.

In some cases I don't have room for the start/end date. In those cases I actually launch a pop up form BEFORE the form appears. The user selects two dates, and then the form with options opens. I have a re-useable start/end date form that I use. The dates can still be changed. In the below example, we later added some code to export the data to a palm pilot. Again, creating forms that allow the user to select data for reports means I was able to leverage this, and simply add a button for exporting data to the palm pilot.

In all of the above examples, the user NEVER has to type in anything to select options for a report. This approach makes the application easy to use, in fact fun to use. In addition, it also means that VERY LITTLE code needs to be written to check for user input errors. In fact, the user can't make a input error, since the user is only presented with available options.

If you have a text box prompt that searches for a City, then all kinds of things like quotes, a extra comma and several other things the user enters can really mess up the sql search. If you give the user a combo box, then that error can't be made. This is not always practical, but the above examples have no text box prompts.

The other important point here is that I frequently use a list box for the report name. I can in general add new reports to the application, and not have to modify the report form. The table that has this info is only 4 fields. One of the fields defines the form it belongs to, the other field is the report name, and of course the "description" that the user sees.

At the end of the day the goal here is to reduce typing, and hide the complexity of the application to the user.

More Rides screen shots…