Microsoft KB Archive/104065

From BetaArchive Wiki

ACC1x: Comparison of Visual Basic 3.0 and Microsoft Access 1.1


The information in this article applies to:

  • Microsoft Access 1.1
  • Microsoft Access Distribution Kit, version 1.1
  • Microsoft Visual Basic Professional Edition for Windows, version 3.0


Microsoft is committed to continually enhancing its entire desktop database tool family. The two main forces that guide future product development plans are: responding to your needs through innovation and solid execution, and sharing these innovations among products.

The innovations continue with the release of Microsoft Visual Basic Professional Edition version 3.0 and its ability to directly manipulate Microsoft Access databases. However, due to this enhanced functionality, you may have questions about which product will best meet your database needs. This article will try to help you make that decision by outlining the important features of Microsoft Access version 1.1 and Visual Basic Professional Edition version 3.0.


Microsoft Access Version 1.1

Microsoft Access is an interactive end-user tool optimized for customizability and the creation of database solutions. It is designed exclusively for database work, with simple, yet powerful, integrated database tools. These tools, such as data-aware forms and reports, are designed for manipulating data in the Microsoft Access user interface.

Manipulating form and report objects is easy with the use of macros and the macro builder. Microsoft Access also contains the full- featured Access Basic language, which is very similar to Visual Basic.

Microsoft Access does not provide the ability to create an executable database file. This means that customers who receive your Microsoft Access-developed applications must have either:

  • The retail version of Microsoft Access (note that any user who has a retail version of Microsoft Access can modify your applications unless you implement security on the database or its objects).


  • The run-time version of Microsoft Access that is provided with the Microsoft Access Distribution Kit. The run-time package lets users run your application without having to own a full retail copy of Microsoft Access, and can be distributed with your applications royalty-free.

Microsoft Access Distribution Kit Version 1.1

The Microsoft Access Distribution Kit (ADK) contains a set of tools and a run-time package for Microsoft Access. This run-time package allows you to ship your Microsoft Access-designed applications to users who may not have Microsoft Access installed on their computers. Note that modifications to your application cannot be made when the application is running in the run-time package.

The ADK comes with advanced developer tools, including:

  • Setup toolkit (includes .DLL file version check)
  • Help compiler
  • Documentation on how to create your own AccessWizards

Microsoft Visual Basic Professional Edition Version 3.0

Microsoft Visual Basic is optimized for programmer versatility and extensibility. It is a tool not only for creating database applications, but other applications as well. It can be used to create multi-function applications with complete custom control over the user interface. Visual Basic creates executable (.EXE) files, which contain precompiled code tuned to load and execute, and are processed through a dynamic link library (.DLL) called VBRUN300.DLL. The Visual Basic compiler is not needed to run applications you develop.

Starting with Visual Basic Professional Edition version 3.0, the Microsoft Access database engine is also included, giving you complete access to Microsoft Access-created databases (which can include foreign database format tables such as Paradox and Btrieve that can be attached to the .MDB file). However, it does not give you access to other objects in the .MDB file, such as reports and forms. There is no graphical means of defining database queries, so you must construct them in code. Visual Basic also does not provide the ability to modify the security of an .MDB file. Instead, you must implement security through the Microsoft Access security interface.

To distribute your Visual Basic applications, you need only distribute the .EXE file that you developed, the VBRUN300.DLL file, the .MDB file, and any other miscellaneous files your application requires. Users of your applications are not required to have Microsoft Access or Visual Basic to run your applications.

The only way that users can modify your application's objects is if you implement the ability for them to do so in your code, or if you supply the source code to your users.

Essentially, Microsoft Visual Basic gives you greater control and freedom over creation of your applications, but also requires greater responsibility on your part for managing the code, objects, and so on.

Features Comparison

      Microsoft Access           |    Microsoft Visual Basic
   Is an interactive, end-user   | Contains a full programmatic
   tool designed exclusively     | object layer for creating a
   for database development and  | run-time database solution.
   work.                         |
   Contains a full-featured      | Contains a full-featured
   report-writing tool allowing  | report writer with the
   flexible report writing       | ability to execute
   for a custom database         | predefined reports.
   solution.                     |
   Provides both macros and      | Includes the complete Visual
   Access Basic for driving      | Basic language set, plus a
   your applications.            | subset of Access Basic to
                                 | fully manipulate data.
                                 | NOTE: Microsoft Access macro
                                 | actions are not available to
                                 | Visual Basic executable(.EXE)
                                 | files.
   Supports attachment (either   | Can attach to the same
   programatically or through    | database formats supported
   the user interface) of        | in Microsoft Access through
   multiple external database    | attached tables in the .MDB
   tables of other formats,      | file.
   such as dBASE, Paradox,       |
   Btrieve, SYBASE, and so on.   |
   Has data-aware controls       | Has data-aware controls
   bound to data controls on     | bound to fields in the
   forms or reports.             | tables.
   Supports multiple subforms    | Can create multiple
   on forms. The data in the     | instances of MDI child
   subforms can be linked to     | forms. (However, you must
   fields on the parent form     | programmatically link the
   so that updates made to the   | data on the subform with the
   parent form are               | parent form.)
   automatically reflected in    |
   the subforms. This can be     |
   done by setting properties    |
   in the subforms without       |
   using code or macros.         |
   Is easy for new users to      | Includes full developer
   become immediately            | usability -- full debugging
   productive with. Cue Cards    | tools including watch
   -- automated task             | statements and call threads.
   teaching aids -- walk         |
   inexperienced users through   |
   such tasks as writing a       |
   macro, designing a query, or  |
   creating mailing labels.      |
   Is connectable. All project   | Code is in ASCII, in distinct
   code is stored in the         | modules, and works with CASE
   database file and is managed  | and SLM tools.
   through the easy-to-use       |
   Microsoft Access user         |
   interface. Code in other      |
   databases is accessible       |
   through the use of Microsoft  |
   Access libraries.             |
   Contains graphical, easy-to-  | Includes additional
   use tools for interactive     | developer tools for
   users:                        | commercial development:
    - Report, form, and graph    |  - Setup toolkit for
      wizards (automated task    |    creating your own Help
      coordinators that make     |    files (includes .DLL file
      creation of reports,       |    version check)
      forms, and graphs easy)    |
                                 |  - Win API reference
    - Macros (for easy, fill-in- |
      the-blank programming )    |  - Help compiler (allows you
                                 |    to create your own Help
    - Graphical Query-by-        |    files)
      Example (for creating      |
      custom queries)            |
    - Cue Cards                  |
   Uses user-friendly            | Has no object-creation user
   objects (such as macros,      | interface for constructing
   forms, reports and queries),  | queries. You either hard- code
   that are easy to implement    | a SQL string or construct the
   and modify.                   | query with code. Cannot read
                                 | any of the macros, modules,
                                 | forms, reports, or queries in an
                                 | .MDB file.
   Offers full-featured          | Cannot modify the security
   security on all objects.      | implemented in .MDB files, but
                                 | instead must obey the security
                                 | previously established on the
                                 | database objects. All security
                                 | must be established through the
                                 | Microsoft Access interface.
   Currently does not support    | Supports .VBX files for
   custom controls (.VBX         | additional add-on custom
   files).                       | controls.
   Efficiently uses system       | Uses true Windows controls
   resources, even displaying    | that you create on your
   large amounts of data in      | forms (not Microsoft Access-
   grid-like presentations.      | owned windows). As a result,
   However, in many instances,   | you have much more control
   Microsoft Access will use the | over them using standard
   same control to display       | Windows API function calls.
   several pieces of data in     | NOTE: Incorrect use of API
   the same window or form.      | function calls can lead to
   Because of this, you may find | resource inefficiency.
   that you do not have the same |
   fine control of objects that  |
   you have using standard       |
   Microsoft Windows API         |
   functions.                    |

Additional query words: differences vb

Keywords : kbprg
Issue type : kbinfo
Technology :

Last Reviewed: November 4, 2000
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.