|
Sesame Library | Sesame Forms and Sub-forms
A feature the team wanted to have in Sesame was
one that would give Q&A users the ability to design a database with an
unlimited line-item capability. In other words, an invoice or work order
form that was not limited to the number of lines you could fit on Q&A's 10
screens. That's exactly what the combination of tree-based relational
capability and sub-forms brings to Sesame.
Picture a sub-form as a separate database
located within each form of a master database. (See a
Sesame screen containing a sub-form for an
example of this.) This gives you a form with unlimited linked records or
line-items. The master form stores the data about the work order or
invoice. It has all of the information about the customer or the job. The
sub-form is almost like another database with as many records as you need,
where each record holds the information about each task being done or each
item sold. This is a big step up from Q&A style forms.
Linked sub-forms bring another benefit to
your applications. Even overlooking the 10-page and programming
limitations of Q&A, searching multi-line forms can be a nightmare. Take
the situation where you need to find all the invoices where you sold a
widget to someone or prepare a report of all widget buyers. Without some
fancy workarounds, finding all the forms where a widget was sold requires
entering "widget" on each and every line of the line-items area of the
form, then telling Q&A to find all the records that meet any
of the restrictions. Doable but tedious. Now, what about all the invoices
on which widgets and doohickeys were both sold? You see what
you're up against.
With Sesame and its sub-form databases,
you simply retrieve the invoices where widget exists on the sub-form line.
(You deal with only one entry). Sesame finds not only the sub-forms with
widgets, but all the master forms to which they are attached. As for the
widget and doohickey scenario, you simply find all the "widgets"
in the sub-form line, then do a second drill-down search on the result set
for "doohickey." It can't get much easier than that!
|