home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Pier Shareware 5
/
The_Pier_Shareware_Number_5_(The_Pier_Exchange)_(1994).iso
/
039
/
comlyr.exe
/
ACC2COMP.TXT
< prev
next >
Wrap
Text File
|
1994-05-24
|
20KB
|
445 lines
A C C 2 C O M P . T X T
Release Notes for Compatibility Layer
Microsoft Visual Basic (R) 3.0 -- Microsoft Access (R) 2.0
(C) Copyright Microsoft Corporation, 1994
This document describes the Microsoft Jet Database Engine
version 2.0/Visual Basic version 3.0 Compatibility Layer,
which enables Visual Basic 3.0 and applications created with
Visual Basic 3.0 to use data stored in Microsoft Access 2.0
databases.
------------------------
How To Use This Document
------------------------
To view this document on screen using Microsoft Windows
Notepad, maximize the Notepad window.
To print this document, open it using Windows Write,
Microsoft Word, or another word processor. Then select the
entire document and format the text in 10-point Courier
font before printing.
--------
Contents
--------
1. Summary
2. Installing the Compatibility Layer
3. Limitations of the Compatibility Layer
4. Microsoft Jet Database Engine 1.1 Compatibility Issues
5. Adapting Your .INI Files
6. Availability of Version 2.0 Jet Database Engine Features
-----------
1. Summary
-----------
Microsoft Access version 2.0 uses a file format for database
(.MDB) files that is different from the format used by
Microsoft Access versions 1.1 and 1.0. Microsoft Visual Basic
version 3.0 cannot use databases in Microsoft Access 2.0
format. If you want to share .MDB format databases between
Microsoft Access 2.0 and Visual Basic 3.0 applications, you
must either:
** Keep the .MDB files in 1.1 format, which both Microsoft
Access 2.0 and Visual Basic 3.0 can use.
** Install the Jet Database Engine 2.0/Visual Basic 3.0
Compatibility Layer included on this disk.
The rest of this document describes the Compatibility Layer.
The files on this disk enable Visual Basic 3.0 (Standard or
Professional Edition) and applications created with Visual
Basic 3.0 to use the version 2.0 Jet database engine to read
and write data stored in Microsoft Access 2.0 databases.
If your Visual Basic 3.0 application doesn't use Microsoft
Access 2.0 databases, you won't significantly benefit from
using the Compatibility Layer. If you access remote data
through attached tables in databases that use the Jet database
engine, you will benefit, but you may need to make minor
modifications to the application source code. If you don't
have access to the source code, you may want to reconsider
converting to the version 2.0 Jet database engine.
---------------------------------------
2. Installing the Compatibility Layer
---------------------------------------
Before you begin, make backup copies of the existing Visual
Basic 3.0 data access files that will be either replaced or
modified. These include the following files.
Table 2.1 Files That Are Replaced or Modified
by the Compatibility Layer
---------------------------------------------------
File Description
---------------------------------------------------
VBDB300.DLL Visual Basic to Jet database engine
1.1 interface DLL
PDCTJET.DLL Run-time DLL for Crystal Reports
PDIRJET.DLL Run-time DLL for Crystal Reports
PDBJET.DLL Run-time DLL for Crystal Reports
CRW.EXE Crystal Report Designer application
VB.INI Visual Basic initialization file
SETUPWIZ.INI Setup Wizard initialization file
----------------------------------------------------------
NOTE You may not have all these files on your system; for
example, CRW.EXE is included only in the Professional
Edition of Visual Basic 3.0.
-----------------------------------------------------------
To upgrade your existing Visual Basic 3.0 Standard or
Professional Edition to support the version 2.0 Jet database
engine, you need the following files.
Table 2.2 Files Needed to Upgrade Visual Basic 3.0
----------------------------------------------------
File Description
----------------------------------------------------
MSAJT200.DLL Version 2.0 Jet database engine
MSAJT112.DLL Jet Database Engine 2.0/Visual Basic
3.0 Compatibility Layer
VBDB300.DLL Visual Basic to Jet database engine support DLL
BTRV200.DLL Btrieve ISAM driver library
PDX200.DLL Paradox ISAM driver library
XBS200.DLL Microsoft FoxPro ISAM driver library
CRWACC20.EXE Program that modifies Crystal Reports files
to work with Microsoft Access 2.0 databases
SETUP.EXE Application that installs the Compatibility Layer
ACC2COMP.TXT This file
>>>To install the Compatibility Layer
-------------------------------------
1. Insert the Compatibility Layer disk into drive A.
2. From the File menu in the Windows Program Manager or
File Manager, choose Run.
3. Type a:setup
4. Follow the Setup instructions on screen.
Once Setup is complete, you may not need to do to anything
else to your Visual Basic application, unless you've included
code for creating or compacting databases, or code that
specifically refers to version 1.1 installable ISAM
drivers. Details on how to deal with these and other
contingencies are discussed in the following sections.
CRWACC20.EXE is an MS-DOS-based program that enables Crystal
Reports for Visual Basic to work with the version 2.0 Jet
database engine. It modifies the following files:
** CRW.EXE
** PDBJET.DLL
** PDIRJET.DLL
** PDCTJET.DLL
The program looks for these files in the current directory
or in a directory passed in as part of the command line
when it is run. To modify these files, you must run this
program after running Setup. Once the program has modified
the files it is of no further use. However, you might
reinstall Crystal Reports after you install the Compatibility
Layer, so you may want to run the program again later.
>>>To run CRWACC20.EXE
----------------------
* At the command prompt, type CRWACC20 <path to CRW.EXE>
For example, if CRW.EXE is in a VB subdirectory
called REPORT, you type this:
CRWACC20 c:\vb\report
If CRWACC20.EXE finds the files in the specified directory,
it modifies them. If you don't specify a path, it looks in
the current directory. When this program modifies a file,
the date for the file is set to the current date.
After you run Setup, examine your VB.INI file for references
to the Jet database engine 1.1 installable ISAM drivers
(BTRV110.DLL, PDX110.DLL, XBS110.DLL). Replace any references
to these drivers with the new Jet database engine 2.0 driver
names (BTRV200.DLL, PDX200.DLL, XBS200.DLL). If you use the
Paradox driver (PDX200.DLL), you must also add the entry
"ParadoxNetStyle=3.x" to the [Paradox ISAM] section of the
VB.INI file. In addition, you need to modify the .INI files
of any executable applications you've created. For example,
if you have an application named BREAD.EXE, you'd have to
modify the BREAD.INI file as well. For an example of new
.INI entries, see Section 5, "Adapting Your .INI Files,"
later in this document.
You should also change the entries in SETUPWIZ.INI to specify
the new files used in the Compatibility Layer. SETUPWIZ.INI
is used with the Setup Wizard to create distribution disks for
your application. Once you've installed the Compatibility
Layer, any applications you create that perform data access
always use the version 2.0 Jet database engine, even if you're
accessing data in earlier .MDB formats or other file formats.
Therefore, whenever you distribute an application created in
Visual Basic 3.0 that performs data access, you need to include
the files listed previously in Table 2.2. (You're free to
distribute these files with your application.) For an example
of new entries for the SETUPWIZ.INI file, see Section 5,
"Adapting Your .INI Files," later in this document.
Setup doesn't remove the version 1.1 Jet database engine
files from your Windows System directory. If you have no
other application using those files (such as Microsoft
Access 1.1), you can delete them. As a precaution, however,
you may want to rename them or move them to another
directory for a few days before deleting them to ensure
that no other application uses them.
------------------------------------------
3. Limitations of the Compatibility Layer
------------------------------------------
Although the Compatibility Layer enables your Visual
Basic 3.0 applications to read and write data stored in
Microsoft Access 2.0 databases, it doesn't give your
applications access to all the new Jet database engine
2.0 objects and features because the existing Visual
Basic 3.0 language doesn't support programmatic access
to these new features.
When your Visual Basic 3.0 application manipulates data
in Microsoft Access 2.0 databases, you'll encounter the
following limitations:
** New Jet database engine 2.0 errors, which result from
new database engine behavior, will be returned as unknown
errors ("Reserved error <error number.>"). The error
numbers listed in the error messages are version 2.0
Jet database engine numbers. To determine the message
associated with an error number, search for "error codes"
in Microsoft Access 2.0 Help.
** Visual Basic version 3.0 doesn't take advantage of any
of the new Jet database engine 2.0 properties, objects,
or methods. See Section 6, "Availability of Version 2.0
Jet Database Engine Features," at the end of this document
for a list of major new features and information about
their accessibility from Visual Basic 3.0 applications.
** The version 2.0 Jet database engine supports eight new
collating orders (Arabic, Russian, Czech, Greek, Hebrew,
Hungarian, Polish, and Turkish), which are unavailable to
Visual Basic 3.0. Databases created in any of these
languages are available in read-only mode only. Data in
the languages may not sort correctly when accessed by
Visual Basic.
** The version 2.0 Jet database engine allows the entry of
zero-length strings as well as Null values. Because of
this, Null values aren't automatically converted to
zero-length strings when they're entered into version
2.0 databases. This may cause some updates to fail
because of validation rules that require zero-length
strings, resulting in a message for an unknown error
("Reserved error <error number.>"). To fix the error,
you have to either use Microsoft Access 2.0 to change
the rule or not enter Null data into the database.
For more information, see Section 6, "Availability of
Version 2.0 Jet Database Engine Features."
** You can't open a dynaset on a remote database (such as a
SQL Server database) within a transaction using the version
2.0 Jet database engine. For example, the following code will
fail as the dynaset is created:
Dim MyDB As Database, MyDS As Dynaset
Set MyDB = OpenDatabase("") ' Open user-selected external database.
MyDB.BeginTrans ' Begin transaction.
Set MyDS = MyDB.CreateDynaset(MyDB.TableDefs(0)) ' Open first table.
However, if you attach tables from the remote database to
a Microsoft Access database, you can create dynasets on
those tables within transactions. (Note that access to
remote data is faster if the tables are attached.)
-----------------------------------------------------------
4. Microsoft Jet Database Engine 1.1 Compatibility Issues
------------------------------------------------------------
When you use the Compatibility Layer to access data in
version 2.0 format, you should keep the following issues
in mind:
** Because the Compatibility Layer is uniquely named
(MSAJT112.DLL), it shouldn't cause any problems with
applications (such as Microsoft Access 1.1) that use
the file MSAJT110.DLL. Jet database engine 1.1
installable ISAM drivers can't be used by the version
2.0 database engine. If the version 1.1 drivers are
listed in the [Installable ISAM] section of your
.INI file, an error will occur when you attempt to
use your application to access data in any of these
database formats.
** Visual Basic 3.0 applications that use the version
2.0 Jet database engine may be able to update data
in situations in which they previously could not (for
example, the "one" side of a one-to-many relationship).
However, applications can't update data when the change
would orphan records on the many side of a recordset.
** For some new SQL reserved words, you must enclose the
word in brackets ([ ]) if you want to use it as part
of an identifier (for example, a table or field name)
in the context of an SQL string. For a list of the Jet
database engine 2.0 SQL reserved words, search Microsoft
Access 2.0 Help for "SQL."
** By default, the CreateDatabase function and CompactDatabase
statement now create databases in Jet database engine 2.0
format. You can override this default behavior by using
the DB_VERSION10 constant (in the file DATACONS.TXT). Using
this constant creates a version 1.1 database, not a version
1.0 database. You can't create version 1.0 databases.
The following table shows which type of database is created
when you use CreateDatabase and CompactDatabase with and
without DB_VERSION10.
-----------------------------------------------------------------
Jet database engine Creates by default With DB_VERSION10
-----------------------------------------------------------------
Version 1.1 Version 1.1 database Version 1.0 database
Version 2.0 Version 2.0 database Version 1.1 database
------------------------------
5. Adapting Your .INI Files
------------------------------
Your .INI file is used by the Jet database engine to locate
driver files. When you're designing your application, the
VB.INI file contains entries that point to each of the
installable ISAM drivers your application will need. If
you're creating an executable Visual Basic 3.0 program,
you'll need to create an .INI file for the application
that also contains these entries. For example, if your
application is named CAT.EXE, you'll need to create an
.INI file called CAT.INI and add the necessary entries.
Shown below is the default [Installable ISAM] section of the
VB.INI file. Although it includes entries for all the
installable ISAM drivers, the .INI file you create for your
application may need only one of these entries. If you
use the Paradox driver (PDX200.DLL), you also need to add
a line to the [Paradox ISAM] section of your .INI files.
You don't need to change any of the other entries in your
.INI files.
Default entries for VB.INI and <appname>.INI
----------------------------------------------------------------------
[Installable ISAM]
Paradox 3.X=C:\VB\PDX200.DLL ;Path of the Paradox 3.x driver
Paradox 4.X=C:\VB\PDX200.DLL ;Path of the Paradox 4.x driver
FoxPro 2.0=C:\VB\XBS200.DLL ;Path of the Microsoft FoxPro 2.0 driver
FoxPro 2.5=C:\VB\XBS200.DLL ;Path of the Microsoft FoxPro 2.5 driver
dBASE III=C:\VB\XBS200.DLL ;Path of the dBASE III driver
dBASE IV=C:\VB\XBS200.DLL ;Path of the dBASE IV driver
Btrieve=C:\VB\BTRV200.DLL ;Path of the Btrieve driver
[Paradox ISAM]
ParadoxNetStyle=3.x ;Required to open Paradox databases
---------------------------------------------------------
NOTE You don't need new ODBC drivers to use the version
2.0 Jet database engine; it works correctly with the ODBC
drivers that were included with Visual Basic version 3.0.
---------------------------------------------------------
In addition, you can adapt SETUPWIZ.INI to accommodate
the new drivers and additional files. You can remove entries
for these files:
** MSAJT110.DLL
** MSAES110.DLL
** XBS110.DLL
** PDX110.DLL
** BTRV110.DLL
These are the new entries for SETUPWIZ.INI.
----------------------------------------------------
[ACCESS] ; Key used by Setup Wizard
; Jet database engine files
file1=MSABC110.DLL
file2=MSAJT200.DLL
file3=VBDB300.DLL
file4=SHARE.EXE:1 ; Jet database engine DLLs require
; 'SHARE.EXE /L:500' in AUTOEXEC.BAT
file5=MSAJT112.DLL
; Files used by the Crystal Report (*.RPT) files
[PDBJET.DLL]
file1=PDBJET.DLL ; Jet database engine DLL for Crystal Reports
file2=PDIRJET.DLL ; Jet database engine DLL for Crystal Reports
file3=PDCTJET.DLL ; Jet database engine DLL for Crystal Reports
file4=MSABC110.DLL ; Jet database engine DLL for Crystal Reports
file5=MSAJT200.DLL ; Jet database engine DLL for Crystal Reports
file6=VBDB300.DLL ; Visual Basic DLL for Crystal Reports
file7=SHARE.EXE:1 ; Jet database engine DLLs require
; 'SHARE.EXE /L:500' in AUTOEXEC.BAT
file8=MSAJT112.DLL ; Compatibility Layer
-------------------------------------------------------------
6. Availability of Version 2.0 Jet Database Engine Features
-------------------------------------------------------------
This section lists new features of the version 2.0 Jet
database engine and indicates whether you can take
advantage of them in Visual Basic 3.0 when you use the
Compatibility Layer.
Cascading Updates and Deletes
---------------------------------
In Microsoft Access 2.0, you can specify that updates and/or
deletions in referenced fields can be cascaded to all referencing
tables. In Visual Basic 3.0, however, you can't specify cascading
updates or deletes. Consequently, you must use Microsoft Access
2.0 to set this feature. Note that some errors generated from
cascading updates and deletes are returned as reserved errors.
Whenever possible, these new errors are mapped to existing errors.
Table-Level Validation
----------------------
Field- and record-level validation is now maintained by the Jet
database engine. This includes setting table-level validation
rules as well as default values. In Visual Basic 3.0, you
can't set table-level validation rules or default values.
Once these values are set by Microsoft Access 2.0, applications
created in Visual Basic 3.0 will see the results. Violations
of table-level validation rules generate reserved errors.
Zero-Length Strings
-------------------
In Microsoft Access 2.0 databases, you can enter a zero-
length string ("") to indicate data that is known but doesn't
exist. A zero-length string is a string in a Text field
containing no characters; it's not the same as Null.
Visual Basic converts all zero-length strings to Null.
There is no way to enter zero-length strings in Visual
Basic 3.0. When table-level validation rules or default
values have been set by Microsoft Access to enforce the
entry of zero-length strings, Visual Basic 3.0 can't enter
Null data into these fields.