home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
private
/
mpc93mar.zip
/
APPROACH.DAT
< prev
next >
Wrap
Text File
|
1993-02-14
|
12KB
|
236 lines
Approach Links Diverse Databases
By: Steven Friedman
The task of database creation and management has always been a
labyrinth best left to the MIS overseers and programmers. Windows has
not changed this. There are few completely Windows-based,
fully-relational database programs, although more are scheduled for
release in the later part of 1992.
What we do have is a growing roster of hybrid programs that serve as
front ends for existing databases. Generally, these programs use
object-oriented concepts to create a Windows portal for one or more
existing database formats, incorporating DDE, fonts, graphics, and
multi-tasking. They allow users to create database front ends with
little or no programming. While they are not true relational database
programs in the purest sense, they provide 80% of the functional needs
of most database users.
Most existing database programs are built on procedural commands that
store and manipulate data. The basic database engine controls the
structure of the database such as field types, lengths, names, and the
pointers that find the stored records. Procedural code sits on top of
this engine to allow the user to create forms, reports, and turnkey
applications.
The new hybrids do not attempt to replicate these engines, but simply
attach onto them and allow the user to treat that data and its
corresponding properties as objects. Thanks to the Windows GUI,
additional properties such as fonts, colors, and even graphics can be
attached to these objects.
In these hybrid programs, the distinction between reports and forms is
less distinct. You could not imagine being able to edit data on a
dBASE report. Yet one of the hybrids, Approach, lets you edit data on
reports, and display summary data on forms. Each record can be edited
or formatted in a variety of ways because all records are treated as
objects, not as lines of procedural code.
Another aspect of the hybrid programs is their ability to work with
relational features of databases. Unlike flat-file databases, which
store all data in a single type of record, relational databases use
multiple data tables or files to store specific types of information,
then link it through a common column. Most of the powerful databases
in use today are relational, since this type of database provides a
more efficient method of dealing with one-to-one, one-to-many, and
many-to-many relationships.
An example of a one-to-many relationship would be a client placing
several orders. If the customer has multiple orders in a flat-file
database, you would have to repeat the customer information each time,
as well as the product information, pricing, etc.
Hybrids also have the unique ability to link information from
different database engines and to create relationships between them.
While traditional databases store specific types of information in
separate tables, they generally cannot cope with tables in different
database formats.
Imagine, for example, that your customer data (name, address, phone
number, etc.) is stored in dBASE or Paradox, but transactions (e.g.,
orders) are stored in Oracle. Until now there has been no easy way to
link them without elaborate and complex conversion processes. With
Approach, the problem is eliminated, since you are treating each
record as an object, and are not tied to the procedural code that is
behind it. In this manner, dBASE, Paradox, and Oracle data can all
coexist in harmony on the same form and reports, without complicated
procedures to convert them.
Approach
Approach uses the concept of creating views that link together
reports, forms, and database records. These files may be dBASE,
Paradox, SQL, or Oracle files. The view presents the information and
allows you to organize it into forms and reports. Unlike traditional
forms and reports in their DOS counterparts, the data is editable in
both.
You may also link or embed pictures onto the form design or into a
picture field of the database. In this fashion, you can store text and
graphical data together in the same form. Using DDE, Approach can
actually alter graphical data (such as an Excel chart) as you enter
it.
Forms
Approach handles data through forms, reports, and mailing labels. When
you open or create a database, it instantly sets up a basic form in
the design mode, using the fields you select. You may use this as-is,
or alter it and embellish it with graphics, shading, color, and text.
To view the data you switch to the Browse mode and toggle VCR-style
arrow buttons on the top of the screen to move through the records.
I liked the way Approach lets you set up global preferences to
pre-define the size, typeface, and color of data entry text, the
position of field labels in relation to the entered text, etc. You may
also change these individually by double-clicking anywhere on a field.
When you do, all the options are presented, including the field
definitions, so you can alter the database structure on the fly. To
change a field size, you simply grab a handle and move it in or out.
To move a field, click on it once, then move it to where you want. You
have several options for formatting how data is presented. You may
have the user enter a value, select from a list, or use a combination
of both. The list restricts you to the choices on the list.
The text-plus-value list allows you to enter a value not on the list
into the field. To create a value list, you must pre-define the
options. I was disappointed that it would not allow you to assign the
column or database field name to the value list, so that all
previously entered values would come up in a popup list. I was told
this is slated for a future release. You can also have it default to
the current date, time, an auto-numbered value (starting from an
assigned value and incrementing by an assigned value), or the most
recently entered value. Approach has a limited ability to validate
entries. Properties that can be checked are: filled in, true or false,
unique, within a range, in a specific list of values, or existing in a
database.
Joining Databases
To create a relationship between two database files, you open one or
more databases, then highlight the linking columns in each. This
creates a join between the two, and both fields can then be used. You
may continue to do this with multiple databases and tables to create a
series of very complex relationships. Since you often want to display
multiple transactions on a single form, you may create a repeating
panel. This displays a scrolling region of multiple rows of data on
the many side of the one-to-many relationship. Each row is linked by a
matching column. In this case, the matching column does not even have
to be from the same database program or have the same name.
Powerful Macros
In place of a procedural language, Approach uses macros that automate
some command steps. After you create the macro, you may then assign it
to a button on the form. When the user presses the button, the macro
(or a series of macros) is executed. While this is a powerful feature,
it does not take the place of a procedural language. Moreover, unlike
the other features in Approach, the macro language is inadequately
documented. Not enough examples are given in the tutorial to
familiarize the user with all the options. I found myself caught in
several loops that kept repeating the same macro, with no way to break
out of it short of the "three-finger salute." Another frustrating
aspect of the macros is their inability to use global variables. A
global variable is just a temporary vessel that stores information
that is either entered from the keyboard, looked up from a select
statement, or calculated. This saves having to use up record space to
hold values that are needed for only a short time. It is also
confusing how to get from one form or report to another and back
again. From the examples in the templates, it appears that the feature
has some powerful capabilities, but I was unable to reverse-engineer
them well enough to gain a good understanding of them.
Summary
Approach is one of the first hybrid programs that does not require
extensive programming skills to get up and running. It is
user-friendly and makes excellent use of top-bar icons and dialog
boxes for creating forms, reports, and fields. Within four hours, I
was able to get a form and report running. A few things that are
lacking or inadequately documented prevent this program's first
release from being a 10.
The weak points include:
* Lack of context-sensitive help<197>or, in many cases, any help. The
lack of help for macros suggests that they were added on as an
afterthought.
* Not enough functions. Even though Approach contains numerous
functions, they don't seem adequate for all the ways that data needs
to be manipulated.
* No way to perform lookups on values existing in the same table, and
no way to modify a link to a table based on a specific criterion such
as month or year.
* Inability to use a table as the basis of a selection list. Instead,
all of the literal values must be typed in.
* Password security is only for the entire view. You cannot assign a
user hierarchy, or limit forms (or fields on forms) based on
passwords.
* Lack of style sheets for globally defining text fonts, colors,
lines, etc. While being able to define the global defaults is a step
in the right direction, it would be better to have a selection of
style sheets for this purpose.
Approach's strong features include:
* Easy to connect multiple database files from different database
programs into a single view, and utilize that data in reports and
forms.
* Easy to assign multiple attributes to a selection of objects at
once.
* Easy to create forms.
* Able to use OLE to link pictures to objects and can actually
incorporate pictures into records.
* Automatically creates fields for a form.
* Automatically formats a report, and allows you to select from
standard, columnar, or summary formats.
* Easy to make joins among many different databases and tables.
* Easy to create scrolling regions of linked data.
* Well designed tutorial, but overall documentation seems fuzzy in
places, especially with object linking to pictures, and macros.
* Easy to create mailing labels.
* Able to view zoomed or contracted images of reports and forms.
* Ability to change the tab order.
* Ability to globally define attributes such as pen color, fonts, etc.
* Ability to group objects.
* Extensive formatting tools: grids, rulers, alignment tools, and
zooming.
* Excellent use of top icon bar for functions, and a well-designed
user interface.
Approach [$199 list; $99 to SPCUG members]
Approach Software 311 Penobscot Dr.
Redwood City, CA 94063