Can you tell us how you intend to use this data once it is entered? (Reporting)
How you need to report entered data should be known before deciding how to structure the data. For intstance, a checkbox field with 31 entries is fine if there is no reporting other than the data entry screen for visual reference. If, however, you will need to print a list of reserved dates, and possibly actually-attended dates, in a report by date, that would probably be easier with portal-entered related records per date so that date reports would be simple to generate from the child-records (date).
I make it a point to know how data will need to be reported before picking a data structure, so I can plan the data-entry work for the optimal structure.
Thanks for getting back to me. The day care center needs to track 3 types
of daily attendance for each child - i.e., which children will be there for
either morning, afternoon, or full attendance. Then the system will need to
tally sub-totals for each kind of visit, on a monthly basis, so that a
total monthly bill per child can be generated. (Rates differ between
morning, afternoon, or full day).
I pretty much know how to do the tallying (with summary fields and
reports), but I was a bit confused about how to code for differing months
with 28, 30, and 31 days. I was originally thinking of using a calendar
like SeedCode's free one, but modifying it is beyond my Filemaker skills. I
think I will end up creating 31 fields, named 'Day 1', 'Day 2', 'Day 3',
etc., and make the entry fields a drop-down of 'M', A', and 'F', then I can
do a summary count per month (per child) for each type of visit. I've also
figured out a way to account for 30 day months and February without needing
a full-blown calendar calculation. If you've got a more elegant idea, I'd
love to hear about it.
I've been programming in Filemaker for over 19 years, but there is SO much
I still do not know about it. By the way, do you know of a straight-up math
(not exclusively Filemaker) calculation which determines *what day any
given date falls on? I know that FM will calc this for us (DayName(Date)*),
but I don't understand the math behind the function. Would love to know how
this actually works in math.
Thanks in advance for any and all help!
I have created various different types of scheduling/apointment systems and there is no right or wrong way of doing it, however, I have dound that there is benefit to doing the following:
You could "drive" the creation on appointment records from the "Child" table to related appointment/booking records, for example, you could put some globals into the "Child" table that allows you to specify the day/s of the week they are to be booked for, the time slots and the number of weeks. You can then create a script that uses the globals and loops for the number of weeks, creating a booking record for each day they are booked in the "appointment/booking" table, linking the record to the child.
Does this make sense?
If have even created a "Calendar" view of appointment records, which shows daily/weekly and even monthly views of bookings, broken down by time slots. Works a treat. If you need more info, let me know!
Coding the number of days for each month accurately without using a true calendaring system can be done with a related table of 30 numbered records, each having a field for day of the month (1–31) and a field for Months, in which you enter a return-delimited list of the month names which contain each date (all 1–28 will have 12 month names, etc.)
Then you create a value list showing only related values for the month chosen for the appropriate attendance month record, and it will list the correct dates.