nigelr99
asked on
Access ODBC to SQL Server 'Connection busy with results from another command'
I have been working on an Access front-end to a SQL Server 2008 Express database. I have a main form with several sub-forms and after adding a further couple of sub-forms today, I find whenever I try to add a new record. This only happens with the new subforms, the existing ones being OK. The message is as follows..
ODBC Call failed.
[Microsoft][SQL Server Native Client 10.0]Connection is busy with results from another command (#0)
This seems to be a fairly common problem on the 'net although I've yet to find a solution. The subforms in question are very basic forms based on simple tables with no specific code involved so I cannot understand the issue. I think I read somewhere previously that adding a timestamp field can help although this hasn't in this case.
Any help appreciated.
ODBC Call failed.
[Microsoft][SQL Server Native Client 10.0]Connection is busy with results from another command (#0)
This seems to be a fairly common problem on the 'net although I've yet to find a solution. The subforms in question are very basic forms based on simple tables with no specific code involved so I cannot understand the issue. I think I read somewhere previously that adding a timestamp field can help although this hasn't in this case.
Any help appreciated.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
"The subforms in question are very basic forms based on simple tables with no specific code involved so I cannot understand the issue."
"I have a main form with several sub-forms and after adding a further couple of sub-forms today,"
So your main form possibly contains more that 4 subforms?
Can you explain the purpose of this main form that it needs possibly over 4 subforms?
Are the subform related "vertically" (multiple Nested subforms), or horizontally (one man form and many subforms at the same level below the main form)
Typically you will have a main form and possibly two subforms, but not more than that because it can become confusing for the user (and the developer)
My theory here is the complexity of the form(s) may be contributing to the error (as I have never gotten this error in my multiform basic setups)
"I think I read somewhere previously that adding a timestamp field can help "
Yes, and also make sure to have a primary key in each table.
Finally, Access contains a few settings that you can use to manage possible "Timing" issues like this.
(see attached screenshot)
JeffCoachman
untitled.JPG
"I have a main form with several sub-forms and after adding a further couple of sub-forms today,"
So your main form possibly contains more that 4 subforms?
Can you explain the purpose of this main form that it needs possibly over 4 subforms?
Are the subform related "vertically" (multiple Nested subforms), or horizontally (one man form and many subforms at the same level below the main form)
Typically you will have a main form and possibly two subforms, but not more than that because it can become confusing for the user (and the developer)
My theory here is the complexity of the form(s) may be contributing to the error (as I have never gotten this error in my multiform basic setups)
"I think I read somewhere previously that adding a timestamp field can help "
Yes, and also make sure to have a primary key in each table.
Finally, Access contains a few settings that you can use to manage possible "Timing" issues like this.
(see attached screenshot)
JeffCoachman
untitled.JPG
ASKER
Well, bit of a long story, but the main form is not linked to any of the subforms.. it originally started life as a simple 'admin' form with a few subforms to view/edit some basic tables. I had a simple button interface to show / hide one subform at a time.
This has grown beyond it's original idea so I'll be looking to redesign, especially in light of odbc issues etc.
This has grown beyond it's original idea so I'll be looking to redesign, especially in light of odbc issues etc.
OK
Then first create the simple main form and test.
Then add one form at a time until the issuse appears.
"but the main form is not linked to any of the subforms.. it originally started life as a simple 'admin' form with a few subforms to view/edit some basic tables."
Then simply create one form for each table and use a "Menu form" to open each one individually.
"Keep it simple"
;-)
JeffCoachman
Then first create the simple main form and test.
Then add one form at a time until the issuse appears.
"but the main form is not linked to any of the subforms.. it originally started life as a simple 'admin' form with a few subforms to view/edit some basic tables."
Then simply create one form for each table and use a "Menu form" to open each one individually.
"Keep it simple"
;-)
JeffCoachman
If you build the individual forms, you can use the "switchboard manager" in access to create a "Menu" system.
ASKER
Null field value seemed to be causing the error so I think we can close the question. Thanks for further help from everyone.
Using MARS from ODBC and OLE DB
To use MARS with ODBC the connection string addition is “MARS_Connection=yes”, or you can a connection attribute as follows:
SQLSetConnectAttr(hdbc, SQL_COPT_SS_MARS_ENABLED,S
before calling SQLDriverConnect or SQLBrowseConnect. With OLE DB, the provider string addition for IDBInitialize::Initialize is “MarsConn=yes”, or “MARS Connection=true” if you use an initialization string with IDataInitialize::GetDataSo
IDBInitialize *pIDBInitialize = NULL;
IDBProperties *pIDBProperties = NULL;
// Create the data source object.
hr = CoCreateInstance(CLSID_SQL
hr = pIDBInitialize->QueryInter
// Set the MARS property.
DBPROP rgPropMARS;
IDBProperties rgPropMARS.dwPropertyID = SSPROP_INIT_MARSCONNECTION
rgPropMARS.dwOptions = DBPROPOPTIONS_REQUIRED;
rgPropMARS.dwStatus = DBPROPSTATUS_OK;
rgPropMARS.colid = DB_NULLID;
V_VT(&(rgPropMARS.vValue))
V_BOOL(&(rgPropMARS.vValue
// Create the structure containing the properties.
DBPROPSET PropSet;
PropSet.rgProperties = &rgPropMARS;
PropSet.cProperties = 1;
PropSet.guidPropertySet = DBPROPSET_SQLSERVERDBINIT;
// Get an IDBProperties pointer and set the initialization properties.
pIDBProperties->SetPropert
pIDBProperties->Release();
// Initialize the data source object.
hr = pIDBInitialize->Initialize