[comp.sys.mac] HyperCard Experts: Some Advice Please

peter@aucs.UUCP (10/24/87)

I am posting this again as I got no response last time. There must be
some HyperCarder out there who can answer my questions:

I have finally got on the HyperCard bandwagon and my initial reaction
is very positive. I am now trying to decide what to use it for. One
idea is to convert this dBase employee database that I wrote to HyperCard,
but the more I think about it, the less appropriate HyperCard seems to
be for this purpose. The database consists of a main employee file, with
records for each employee containing the typical stuff like Name, Address,
Department, Salary, Employee Number, and so on, as well as various related
databases containing information such as Leave History, Grants Obtained,
and Committee Membership. The program has two modes: data entry and
report generation. Is this too much for HyperCard? I know that I could
make stacks for each of these databases, but how easy would it be to
manage the data once its all in there. Can data entry be validated? For
example, in dBase, dates can be automatically validated on entry. How
about sorting on multiple keys? My script language guide hasn't arrived
yet but there doesn't seem to be an easy (or efficient) way to do this
from what I've gleened from the on-line help.

I know I could make something that "looks" better than the dBase program on my
PC, but would it really be as capable a program in HyperCard? Comments
please.

On a related note, I am trying hard to find a application for HyperCard.
Sure, I could use it for "Things to do", keeping addresses, phone numbers,
and all that mundane stuff, but other than simple various of this basic
sort of database, what could I use HyperCard for? I really do want to use
it. It is one slick program and I'm dying to find an application for it.
Comments please.


Peter Steele Acadia Univ. Wolfville NS Canada B0P1X0 (902)542-2201x121
UUCP:{uunet|watmath|utai|garfield}dalcs!aucs!Peter BITNET:Peter@Acadia

graifer@net1.ucsd.edu (Dan Graifer) (10/24/87)

A couple of thoughts on database implementation questions for hypercard, 
especially as relates to converting an existing dBase application.

1.  Entry validation can be done with the closeField message in the field's
script:

on closeField
  if <validation expression> then
    answer "error msg" with "Ok"
    click at location of the target
  end if
end closeField

2.  You probably want to do relational databases as one stack.  Just put
each separate file into a different background.  Then navigating and 
extracting data doesn't cause endless stack open and closes.  One to one
links are just buttons that take you to the right background. You could 
even have the closeField message create the button script and linked card.

3.  On the issue of "what kind of db application is HyperCard good for?" I
suspect that you want to think "HyperCard" when the application tends to 
be a lookup single or few record type activity, rather than a "do some
action on a 50% subset of the cards" kind of thing.  Not that Hypercard 
wont do the latter, but it just doesn't seem to be as efficient at this 
kind of thing as traditional databases are.  Eventually, I imagine we will
be able to use HyperCard as a front end processor to other databases for
answering questions like "how many of my 10000 employees took vacation 
last month".
                              Dan Graifer
                              graifer@net1.UCSD.EDU
Disclaimer: Nobody ever listens to me anyways; Why should they start now?