DOCUMENT:Q252438 23-AUG-2001 [vbwin] TITLE :HOWTO: Modify Visual Data Manager to Work with Access 2000 PRODUCT :Microsoft Visual Basic for Windows PROD/VER::2.1,2.1 SP2,2.5,2.6,5.0,6.0 OPER/SYS: KEYWORDS:kbATLComposite kbAccess kbDatabase kbVBp500 kbVBp600 kbGrpDSVBDB kbDSupport kbMDACNoSwe ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual Basic Professional Edition for Windows, versions 5.0, 6.0 - Microsoft Visual Basic Enterprise Edition for Windows, versions 5.0, 6.0 ------------------------------------------------------------------------------- SUMMARY ======= Microsoft Visual Basic ships with an add-in utility known as the Visual Data Manager (VISDATA) for which source code is also provided in the form of a sample project named Visdata.vbp. Visdata.vbp is installed with other Visual Basic samples as part of the MSDN Library installation. This article describes how to modify the source code for the Visual Data Manager add-in in order to use the add-in with Microsoft Access 2000 format database files. MORE INFORMATION ================ Adapting VISDATA to work with Microsoft Access 2000 format databases requires changing only one project reference, adding one menu item, and adding one line of code to process the new menu item. 1. Update the DAO Reference from DAO 3.51 to DAO 3.60. (This step alone is sufficient to allow you to open and work with Access 2000 files.) a. Open Visdata.vbp in the Visual Basic design environment. b. On the Project menu, open the list of References. c. Deselect the existing reference to Microsoft Data Access Objects 3.51, and then locate and select Microsoft Data Access Objects 3.60. If you are using Visual Basic 6.0, be sure to move the DAO 3.6 reference above the ADO library reference in the list. 2. Add a new menu item and code to allow creating a new Access 2000 database. a. Open the main form, frmMDI, in the design environment. b. From the Tools menu, open the Menu Editor. c. In the Menu Editor window, scroll down in the existing menu items to File / New / Microsoft Access. d. In order to insert the new menu item after the existing entry for Access Version 7.0 MDB files, select the following entry: dBase. Click the Insert button, and then click the RIGHT ARROW button to make the new, blank entry a subitem under the Microsoft Access heading. Enter "Access 2000" (without the quotation marks) as the Caption and "mnuDBNMDB2K" (without the quotation marks) as the Name. Close the Menu Editor by clicking OK. e. Open the frmMDI code module and select the mnuDBNMDB2K_Click event procedure in the drop-down list. Enter the following line of code: NewMDB dbVersion40 3. In Visual Basic 6.0 only, update ADO connection strings to support Access 2000. VisData uses both DAO and ADO. Use the Search function on the Visual Basic Edit menu to locate all references in the project to the Microsoft Jet OLE DB Provider version 3.51 and update 3.51 to 4.0. 4. In Visual Basic 6.0 only, add code that will enable the Grid toolbar button, which displays a table of records in a DBGrid control rather than one record per form. a. Open the module modVisData and find the OpenTable procedure. After the lines: If gsDataType = gsMSACCESS Then .ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & gsDBName insert the additional line: .CursorLocation = adUseClient b. Then open frmDataGrid and find the Form_Load event procedure. After the line: Set datDataCtl.Recordset = mrsFormRecordset insert the additional lines: datDataCtl.Refresh Set grdDataGrid.DataSource = datDataCtl grdDataGrid.Refresh If you were to omit this step, you might see an empty grid; or the grid may display with the very first cell empty. 5. Recompile the VISDATA project and copy the compiled executable to the Visual Basic directory (which is \Program Files\Microsoft Visual Studio\Vb98 by default in Visual Basic 6.0). Starting with Microsoft Data Access Components (MDAC) version 2.6, MDAC no longer contains the following Jet components: - Microsoft Jet - Microsoft Jet OLE DB Provider - ODBC Desktop Database Drivers For additional information, click the article number below to view the article in the Microsoft Knowledge Base: Q239114 ACC2000: Updated Version of Microsoft Jet 4.0 Available in Download Center The "MDAC 2.5 Stack and Windows File Protection" white paper contains a full list of the components that are shipped with MDAC 2.5, along with a discussion of Windows File Protection. Refer to this white paper for more information about the Jet dynamic-link libraries (DLLs) that are included in MDAC 2.5, which are no longer a part of MDAC 2.6. For more information about MDAC 2.5 and Windows File Protection, see the following Microsoft Web site: http://www.microsoft.com/data/mdacwfp.htm REFERENCES ========== For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base: Q238401 PRB: Getting Unrecognized Database Format Error Message When Upgrading to Access 2000 Q242010 PRB: The Data Form Wizard May Not Open an Access 2000 Database Additional query words: ====================================================================== Keywords : kbATLComposite kbAccess kbDatabase kbVBp500 kbVBp600 kbGrpDSVBDB kbDSupport kbMDACNoSweep kbATM Technology : kbVBSearch kbAudDeveloper kbZNotKeyword6 kbZNotKeyword2 kbVB500Search kbVB600Search kbVB500 kbVB600 Version : :2.1,2.1 SP2,2.5,2.6,5.0,6.0 Issue type : kbhowto ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.