PRB: "Invalid argument" with dbAttachedTable or dbAttachedODBC
Article ID: 141351
Article Last Modified on 11/21/2006
APPLIES TO
- Microsoft Foundation Class Library 4.2, when used with:
- Microsoft Visual C++ 5.0 Learning Edition
- Microsoft Visual C++ 4.0 Professional Edition
This article was previously published under Q141351
SYMPTOMS
When trying to pass dbAttachedTable or dbAttachedODBC as arguments to the
CDaoTableDef::Create() function or the CDaoTableDef::SetAttributes()
function, you will receive this DAO error:
Error Code = 3001
....
Description = Invalid argument.
CAUSE
The Visual C++ documentation is incorrect. The values dbAttachedTable and
dbAttachedODBC cannot be passed as arguments. These attributes are read-
only attributes that are set internally by DAO based on the information
provided in the connect string of the table.
RESOLUTION
Do not try to set these attributes. DAO will set the attributes based on
what is contained in the connect string for the table. For example, look at
this code:
td.Create(_T("Table1"),0,_T("Table1"),
_T("FoxPro 2.6;DATABASE=d:\\mydatabase\\"));
DAO will set the dbAttachedTable attribute flag for that table. A call to
CDaoTableDef::GetAttributes() will show the flag has been set.
STATUS
This behavior is by design.
Keywords: kbdatabase kbprb kbprogramming KB141351