Get me started on building a scheduling application in Base
August 30, 2011 4:31 PM   Subscribe

Building a small scheduling database application in OpenOffice Base. Needing some tips on getting started and pointers to tutorials.

I'm helping out a charitable organization by creating a small scheduling database for the volunteer coordinator that will allow her to keep track of information on her volunteers and keep track of their work shifts from week to week.

I'm an experienced programmer, but my expertise is with SQL Server, Coldfusion, and Java. I need something simple that I can install on the volunteer coordinator's laptop. My copy of Access is 10 years old and I'm not sure whether the coordinator even has Access on her computer, so I figured OO would be the way to go.

I'm assuming that OO Base should be able to do what I need, but I'm having trouble wading through all the tutorials out there to locate the functionality I'm looking for. If it doesn't have the functionality I'm looking for, then feel free to recommend something that does.

Designing the tables is no problem. I'm looking for some guidance in building the front end. Requirements follow:

1) Ideally, the end user would be shielded from the messing directly with the database and could just click on an icon which would open up a main menu screen which would provide options for entering volunteer info, scheduling shifts, viewing reports, etc. This isn't mandatory, but would make the whole thing much more usable.

2) The user will be using forms to enter information in the database, but the forms you can create with the forms wizard that directly link to records in the tables aren't sufficient. I need to be able to insert some sort of processing/validation rules in-between the data entry and the database.

Example - the Volunteers table would have fields for VolunteerID, FirstName, LastName, ContactInfo, etc. The ScheduledShifts table would have LocationID, VolunteerID, Date, StartTime, EndTime, etc. When the coordinator goes to the form for scheduling a shift, I want her to be able to select the Volunteer Name (first + last) from a dropdown. Then when she saves the record, I want the VolunteerID to be saved in the ScheduledShifts table, not the actual name.

Another example - I want to have some validation for start times and end times to avoid overlapping shifts. I want to be able to provide a user-friendly message when the user tries to enter data that doesn't make sense.

I assume I'll need to use some sort of macro for this, but none of the tutorials I've found so far are on-topic for how to allow this sort of processing of form data.

3) Since this will be used for scheduling, it will be really useful to be able to convert dates to weekdays and manipulate them accordingly. One piece of functionality that has been requested is the ability to maintain a "generic" Monday-Friday schedule which can be copied to upcoming weeks and edited as necessary.

If anyone can point me to tutorials which are on-target for addressing these requirements, I will be very grateful. If anyone wants to explain directly how to start with any of these or even suggest useful search terms, I'll be grateful for that as well. Suggestions for alternate tools to use are also welcome, as long as they are free and easy to install.
posted by tdismukes to Computers & Internet (2 answers total) 1 user marked this as a favorite
Response by poster: BTW - it's been a while, but I do have some background in Visual Basic, which I understand is close to what OO uses for macros.
posted by tdismukes at 4:36 PM on August 30, 2011

Well, it seems to me you have 3 aspects to this project: 1) database, 2) language and 3) business needs. By way of comparison, many moons ago I did a scheduling application for a school to keep track of parents wanting to meet with teachers to talk about their kids on parent/teacher night. Back then I picked Delphi (Pascal) and the BDE (Borland Database Engine), and the GUI I designed allowed them to create conferences and specify the spacing between meetings (to let people walk between the rooms) and different teacher meeting durations (to allow for honors or special ed that required more time). As in your situation, there was no need for a Web front end, it was just a single Admin who took care of this.

If I was doing that project today I would use VB.Net and a local install of mySQL. I'm not a big fan of data aware controls (others will argue this point perhaps) but I think if your app is generic enough to get away with them then you're real lucky. I prefer to encapsulate my access to the database so it's out of sight, out of mind. Then I concentrate on the GUI and the business logic.

I know I've dragged you far afield from your desire to use OpenOffice Base, but I don't think I could have coded that old project of mine in Access and VB script too easily, so I worry it may not be practical for you.

Others may, however, have better ideas than mine.
posted by forthright at 6:24 PM on August 30, 2011

« Older Help us design The Great LA Getaway Adventure!   |   Funding for a Ph.D. in Belgium Newer »
This thread is closed to new comments.