The strategy in designing Dive
Data 2000 was to provide a secure database, fronted by an easy to use
program which supported most of the activities a branch Records Officer
may require. However it is appreciated that individuals may require
facilities that are not provided by the existing program and will want to
write their own extensions. This section is therefore to give an overview
of what is possible. In contrast to the rest of the manual, this section
assumes that you are a reasonably competent programmer!
Dive
Data 2000 is essentially a Microsoft Access
97 database (DIVEDATA2000.MDB) that contains the data tables and a Visual
Basic program (DIVEDATA.EXE) that provides the forms and functions. The
advantage of this approach is that I can update the program without the
need to change the underlying database. A collection of reports (*.RPT) is
also distributed. These were written using Seagate Crystal Reports v6. A
cut-down version of Crystal
Reports ships with Visual Basic.
DIVEDATA2000.MDB is secured to
prevent users from directly changing the tables, or the data in them. All
edits, updates and deletes must be performed by a user account, DD_USER,
which has a password hardcoded into DIVEDATA.EXE. Not even DD_USER has
permission to change the table structures. This right is reserved for an
administrator account.
By default, programs that read
Access databases use a user i.d. of ‘Admin’ and no password.
DIVEDATA2000.MDB allows READ access with this account so that you can
write your own reports using any product able to read Access databases
without having to worry about the security model. If you want to write a
new report with Crystal Reports or Microsoft Access, view the data with
Microsoft Query or run a “mailmerge” using Microsoft Word this should
be possible without the requirement to enter any passwords.
If you have your own copy of
Microsoft Access you may be tempted to load DIVEDATA2000.MDB so that you
can run your own queries, reports etc. You are perfectly at liberty to add
queries, tables, reports etc to DIVEDATA2000.MDB. However I strongly
suggest that you create a completely new .MDB file and then attach the
tables from DIVEDATA2000.MDB
This approach will still let you
see all of the data in DIVEDATA2000.MDB but make a clear separation
between your code and mine. In neither case will you be able to modify the
data in my tables, because that can only be done programmatically from
DIVEDATA.EXE. This restriction is necessary in order to maintain data
integrity.
The reports supplied with Dive
Data 2000 were written using Crystal Reports. However there is nothing
to stop you using the data in a Word Processor, such as Word, or an
alternative report generator such as Borland Reportsmith or the report
wizard in Access. The tool must either be able to read access tables or to
use Access 97 ODBC drivers to interrogate the MDB file.
You can also modify the supplied
Crystal Reports, for example to add a branch logo to the letters. The .RPT
files are read-only to prevent accidental changes, so you must first
remove the read only attribute using File Manager. Please take backups of
the files you intend to change.
You may find that Crystal
Reports is “unable to find” the database tables when you open a report
for editing. This can usually be fixed by editing your VB.INI file to add
the following lines:-
[Options]
SystemDB=<path to dive data
directory>\SYSTEM.MDA
You should also be aware that,
for many of my reports, the record selection criteria are set in code by
DIVEDATA.EXE. Generally I programmatically create a recordset of the
records I want to report, set the Select field to true and then run the
report on all records where this field is true. If you modify the reports
to change/add record selection criteria you may find that the program
over-rides your settings.
If you aren’t confident to alter or create
reports yourself I can do this as a service. Please email orders@divedata.com
for details of charges.