Article: Q160169
Product(s): Microsoft Visual Basic for Windows
Version(s): 4.0,5.0,6.0
Operating System(s):
Keyword(s): kbVBp kbVBp400 kbVBp600 kbGrpDSVBDB kbDSupport
Last Modified: 19-APR-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual Basic Learning Edition for Windows, versions 5.0, 6.0
- Microsoft Visual Basic Professional Edition for Windows, versions 5.0, 6.0
- Microsoft Visual Basic Enterprise Edition for Windows, versions 5.0, 6.0
- Microsoft Visual Basic Standard Edition, 32-bit, for Windows, version 4.0
- Microsoft Visual Basic Professional Edition, 16-bit, for Windows, version 4.0
- Microsoft Visual Basic Professional Edition, 32-bit, for Windows, version 4.0
- Microsoft Visual Basic Enterprise Edition, 16-bit, for Windows, version 4.0
- Microsoft Visual Basic Enterprise Edition, 32-bit, for Windows, version 4.0
-------------------------------------------------------------------------------
SYMPTOMS
========
If you attempt to use the Data control to connect to a password-protected Access
database at design time, you receive the following error message:
Not a valid password
Specifically, this error occurs when you set the RecordSource property of the
Data control.
RESOLUTION
==========
In the Properties window, set the following properties for the Data control:
Property Value of Property
---------------- ---------------------
DatabaseName ATEST.MDB
Connect ;pwd=aaa
RecordSource Table1
NOTE: You must set the DatabaseName property first, then set the connect
property. If the properties are not set in this order, you receive the same
error message.
IMPORTANT: This functionality is broken in Microsoft Visual Studio 6.0 Service
Pack 4 (SP4).
STATUS
======
This behavior is by design.
MORE INFORMATION
================
Steps to Reproduce Problem
--------------------------
1. Start a new project in Visual Basic. Form1 is created by default.
2. In the Load event for Form1, paste the following code:
Private Sub Form_Load()
Dim DB As Database
Dim tblDef As TableDef, fld As Field
Set DB = DBEngine.Workspaces(0).CreateDatabase("C:\Atest.mdb", _
dbLangGeneral, dbEncrypt)
DB.NewPassword "", "aaa"
' Create new TableDef.
Set tblDef = DB.CreateTableDef("Table1")
' Add field to tblDef.
Set fld = tblDef.CreateField("Field1", dbInteger)
tblDef.Fields.Append fld
' Save TableDef definition by appending it to TableDefs collection.
DB.TableDefs.Append tblDef
DB.Close
MsgBox "Atest.mdb and Table1 is created."
End Sub
3. Press the F5 key to run the project. A password-protected database called
Atest.mdb is created.
4. Start another instance of Visual Basic 4.0. Form1 is again created by
default.
5. Add a Data control to Form1.
6. In the Properties window, set the DatabaseName property of the Data control
to "C:\Atest.mdb." If you try to set the RecordSource property, you receive
the above-mentioned error message.
Additional query words:
======================================================================
Keywords : kbVBp kbVBp400 kbVBp600 kbGrpDSVBDB kbDSupport
Technology : kbVBSearch kbAudDeveloper kbZNotKeyword6 kbZNotKeyword2 kbVB500Search kbVB600Search kbVBA500 kbVBA600 kbVB500 kbVB600 kbVB400Search kbVB400 kbVB16bitSearch
Version : :4.0,5.0,6.0
Issue type : kbprb
=============================================================================