home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / private / mpc93mar.zip / APPROACH.DAT < prev    next >
Text File  |  1993-02-14  |  12KB  |  236 lines

  1.        
  2.                       Approach Links Diverse Databases
  3.  
  4.      By: Steven Friedman
  5.  
  6.      The task of database creation and management has always been a
  7.      labyrinth best left to the MIS overseers and programmers. Windows has
  8.      not changed this. There are few completely Windows-based,
  9.      fully-relational database programs, although more are scheduled for
  10.      release in the later part of 1992.
  11.  
  12.      What we do have is a growing roster of hybrid programs that serve as
  13.      front ends for existing databases. Generally, these programs use
  14.      object-oriented concepts to create a Windows portal for one or more
  15.      existing database formats, incorporating DDE, fonts, graphics, and
  16.      multi-tasking. They allow users to create database front ends with
  17.      little or no programming. While they are not true relational database
  18.      programs in the purest sense, they provide 80% of the functional needs
  19.      of most database users.
  20.  
  21.      Most existing database programs are built on procedural commands that
  22.      store and manipulate data. The basic database engine controls the
  23.      structure of the database such as field types, lengths, names, and the
  24.      pointers that find the stored records. Procedural code sits on top of
  25.      this engine to allow the user to create forms, reports, and turnkey
  26.      applications.
  27.  
  28.      The new hybrids do not attempt to replicate these engines, but simply
  29.      attach onto them and allow the user to treat that data and its
  30.      corresponding properties as objects. Thanks to the Windows GUI,
  31.      additional properties such as fonts, colors, and even graphics can be
  32.      attached to these objects.
  33.  
  34.      In these hybrid programs, the distinction between reports and forms is
  35.      less distinct. You could not imagine being able to edit data on a
  36.      dBASE report. Yet one of the hybrids, Approach, lets you edit data on
  37.      reports, and display summary data on forms. Each record can be edited
  38.      or formatted in a variety of ways because all records are treated as
  39.      objects, not as lines of procedural code.
  40.  
  41.      Another aspect of the hybrid programs is their ability to work with
  42.      relational features of databases. Unlike flat-file databases, which
  43.      store all data in a single type of record, relational databases use
  44.      multiple data tables or files to store specific types of information,
  45.      then link it through a common column. Most of the powerful databases
  46.      in use today are relational, since this type of database provides a
  47.      more efficient method of dealing with one-to-one, one-to-many, and
  48.      many-to-many relationships.
  49.  
  50.      An example of a one-to-many relationship would be a client placing
  51.      several orders. If the customer has multiple orders in a flat-file
  52.      database, you would have to repeat the customer information each time,
  53.      as well as the product information, pricing, etc.
  54.  
  55.      Hybrids also have the unique ability to link information from
  56.      different database engines and to create relationships between them.
  57.      While traditional databases store specific types of information in
  58.      separate tables, they generally cannot cope with tables in different
  59.      database formats.
  60.  
  61.      Imagine, for example, that your customer data (name, address, phone
  62.      number, etc.) is stored in dBASE or Paradox, but transactions (e.g.,
  63.      orders) are stored in Oracle. Until now there has been no easy way to
  64.      link them without elaborate and complex conversion processes. With
  65.      Approach, the problem is eliminated, since you are treating each
  66.      record as an object, and are not tied to the procedural code that is
  67.      behind it. In this manner, dBASE, Paradox, and Oracle data can all
  68.      coexist in harmony on the same form and reports, without complicated
  69.      procedures to convert them.
  70.  
  71.                                   Approach
  72.  
  73.      Approach uses the concept of creating views that link together
  74.      reports, forms, and database records. These files may be dBASE,
  75.      Paradox, SQL, or Oracle files. The view presents the information and
  76.      allows you to organize it into forms and reports. Unlike traditional
  77.      forms and reports in their DOS counterparts, the data is editable in
  78.      both.
  79.  
  80.      You may also link or embed pictures onto the form design or into a
  81.      picture field of the database. In this fashion, you can store text and
  82.      graphical data together in the same form. Using DDE, Approach can
  83.      actually alter graphical data (such as an Excel chart) as you enter
  84.      it.
  85.  
  86.                                   Forms
  87.  
  88.      Approach handles data through forms, reports, and mailing labels. When
  89.      you open or create a database, it instantly sets up a basic form in
  90.      the design mode, using the fields you select. You may use this as-is,
  91.      or alter it and embellish it with graphics, shading, color, and text.
  92.      To view the data you switch to the Browse mode and toggle VCR-style
  93.      arrow buttons on the top of the screen to move through the records.
  94.  
  95.      I liked the way Approach lets you set up global preferences to
  96.      pre-define the size, typeface, and color of data entry text, the
  97.      position of field labels in relation to the entered text, etc. You may
  98.      also change these individually by double-clicking anywhere on a field.
  99.      When you do, all the options are presented, including the field
  100.      definitions, so you can alter the database structure on the fly. To
  101.      change a field size, you simply grab a handle and move it in or out.
  102.      To move a field, click on it once, then move it to where you want. You
  103.      have several options for formatting how data is presented. You may
  104.      have the user enter a value, select from a list, or use a combination
  105.      of both. The list restricts you to the choices on the list.
  106.  
  107.      The text-plus-value list allows you to enter a value not on the list
  108.      into the field. To create a value list, you must pre-define the
  109.      options. I was disappointed that it would not allow you to assign the
  110.      column or database field name to the value list, so that all
  111.      previously entered values would come up in a popup list. I was told
  112.      this is slated for a future release. You can also have it default to
  113.      the current date, time, an auto-numbered value (starting from an
  114.      assigned value and incrementing by an assigned value), or the most
  115.      recently entered value. Approach has a limited ability to validate
  116.      entries. Properties that can be checked are: filled in, true or false,
  117.      unique, within a range, in a specific list of values, or existing in a
  118.      database.
  119.  
  120.                                 Joining Databases
  121.  
  122.      To create a relationship between two database files, you open one or
  123.      more databases, then highlight the linking columns in each. This
  124.      creates a join between the two, and both fields can then be used. You
  125.      may continue to do this with multiple databases and tables to create a
  126.      series of very complex relationships. Since you often want to display
  127.      multiple transactions on a single form, you may create a repeating
  128.      panel. This displays a scrolling region of multiple rows of data on
  129.      the many side of the one-to-many relationship. Each row is linked by a
  130.      matching column. In this case, the matching column does not even have
  131.      to be from the same database program or have the same name.
  132.  
  133.                                 Powerful Macros
  134.  
  135.      In place of a procedural language, Approach uses macros that automate
  136.      some command steps. After you create the macro, you may then assign it
  137.      to a button on the form. When the user presses the button, the macro
  138.      (or a series of macros) is executed. While this is a powerful feature,
  139.      it does not take the place of a procedural language. Moreover, unlike
  140.      the other features in Approach, the macro language is inadequately
  141.      documented. Not enough examples are given in the tutorial to
  142.      familiarize the user with all the options. I found myself caught in
  143.      several loops that kept repeating the same macro, with no way to break
  144.      out of it short of the "three-finger salute." Another frustrating
  145.      aspect of the macros is their inability to use global variables. A
  146.      global variable is just a temporary vessel that stores information
  147.      that is either entered from the keyboard, looked up from a select
  148.      statement, or calculated. This saves having to use up record space to
  149.      hold values that are needed for only a short time. It is also
  150.      confusing how to get from one form or report to another and back
  151.      again. From the examples in the templates, it appears that the feature
  152.      has some powerful capabilities, but I was unable to reverse-engineer
  153.      them well enough to gain a good understanding of them.
  154.  
  155.                                   Summary
  156.  
  157.      Approach is one of the first hybrid programs that does not require
  158.      extensive programming skills to get up and running. It is
  159.      user-friendly and makes excellent use of top-bar icons and dialog
  160.      boxes for creating forms, reports, and fields. Within four hours, I
  161.      was able to get a form and report running. A few things that are
  162.      lacking or inadequately documented prevent this program's first
  163.      release from being a 10.
  164.  
  165.      The weak points include:
  166.  
  167.      * Lack of context-sensitive help<197>or, in many cases, any help. The
  168.        lack of help for macros suggests that they were added on as an
  169.        afterthought.
  170.  
  171.      * Not enough functions. Even though Approach contains numerous
  172.        functions, they don't seem adequate for all the ways that data needs
  173.        to be manipulated.
  174.  
  175.      * No way to perform lookups on values existing in the same table, and
  176.        no way to modify a link to a table based on a specific criterion such
  177.        as month or year.
  178.  
  179.      * Inability to use a table as the basis of a selection list. Instead,
  180.        all of the literal values must be typed in.
  181.  
  182.      * Password security is only for the entire view. You cannot assign a
  183.        user hierarchy, or limit forms (or fields on forms) based on
  184.        passwords.
  185.  
  186.      * Lack of style sheets for globally defining text fonts, colors,
  187.       lines, etc. While being able to define the global defaults is a step
  188.       in the right direction, it would be better to have a selection of
  189.       style sheets for this purpose.
  190.  
  191.      Approach's strong features include:
  192.  
  193.      * Easy to connect multiple database files from different database
  194.        programs into a single view, and utilize that data in reports and
  195.        forms.
  196.  
  197.      * Easy to assign multiple attributes to a selection of objects at
  198.        once.
  199.  
  200.      * Easy to create forms.
  201.  
  202.      * Able to use OLE to link pictures to objects and can actually
  203.        incorporate pictures into records.
  204.  
  205.      * Automatically creates fields for a form.
  206.  
  207.      * Automatically formats a report, and allows you to select from
  208.        standard, columnar, or summary formats.
  209.  
  210.      * Easy to make joins among many different databases and tables.
  211.  
  212.      * Easy to create scrolling regions of linked data.
  213.  
  214.      * Well designed tutorial, but overall documentation seems fuzzy in
  215.        places, especially with object linking to pictures, and macros.
  216.  
  217.      * Easy to create mailing labels.
  218.  
  219.      * Able to view zoomed or contracted images of reports and forms.
  220.  
  221.      * Ability to change the tab order.
  222.  
  223.      * Ability to globally define attributes such as pen color, fonts, etc.
  224.  
  225.      * Ability to group objects.
  226.  
  227.      * Extensive formatting tools: grids, rulers, alignment tools, and
  228.        zooming.
  229.  
  230.      * Excellent use of top icon bar for functions, and a well-designed
  231.        user interface.
  232.  
  233.                      Approach [$199 list; $99 to SPCUG members]
  234.                      Approach Software 311 Penobscot Dr.
  235.                      Redwood City, CA 94063
  236.