ACC97: "Can't open the table" in Data Source of ASP File Error
ID: Q172547
|
The information in this article applies to:
SYMPTOMS
Moderate: Requires basic macro, coding, and interoperability skills.
When you try to open a Microsoft Access table in Design view, you may
receive the following message:
You can't open the table <tablename> for modification.
A query or form bound to the table is open, you may not have permission
to open this table in Design view, or another user has the table open.
Do you want to open this table as read-only?
If you have opened a query or form bound to this table, close it, and
then try again to open the table in Design view.
You may also receive errors if you try to move or copy a database in
Windows Explorer; for example you may receive the message:
Cannot move <database>: There has been a sharing violation.
The source or destination file may be in use.
-or-
Cannot rename <database name>: Access is denied.
Make sure the disk is not full or write-protected and that the file is
not currently in use.
CAUSE
The database is an ODBC data source that is used by an ASP file. For
example, this behavior would occur if the table itself, or a query or form
based on that table, had been exported to ASP format. Although the ASP
file, itself, may not currently be open in a user's browser, the Session
object for a particular user session persists for the period of time
specified by its Timeout property. The ASP file contains code that creates
a connection object and stores that connection in the session variable.
Therefore, the connection to the Microsoft Access database that serves as
the ODBC data source persists until the session times out. The default
value of the Timeout property is 20 minutes.
RESOLUTION
Use one of the following methods to resolve this issue.
Method 1
Instead of editing the database that is the ODBC data source, edit a copy
of that database. When all sessions have expired, export the redesigned
table to the ODBC data source, or copy the database itself to the file that
serves as the data source. This is the recommended method to resolve this
issue.
Method 2
Export the database object to ASP format again, and use the "Publish to the
Web" Wizard to specify to Timeout property. To do so, follow these steps:
- On the File menu, click Save As HTML.
- In the first screen of the "Publish to the Web" Wizard, click Next.
- When asked what you want to publish, select the database object(s) that
you want to export to ASP format, and then click Next.
- Choose a template if you want, and then click Next.
- Select Dynamic ASP (Microsoft Active Server Pages), and then click Next.
- Supply the necessary Data Source Information and the URL of the server
location to which you are saving the file. In the Session Timeout box,
type the number of minutes for which the Session object should persist,
and then click Next.
- Specify the folder to which you want to publish, and then click Next.
- Click to select the check box if you want to create a home page and
click Next; then, click to select the check box if you want to save a
publication profile.
- Click Finish.
Method 3
NOTE: This section contains information about editing ASP files, and
assumes that you are familiar with editing ASP files. Microsoft Access
Product Support professionals do not support customization of any HTML, HTX,
IDC, or ASP files.
Edit your ASP file and specify the value of Session.Timeout. To do so,
follow these steps:
- Open the ASP file in a text editor, such as Notepad.
- Locate the following text after the TITLE tags near the beginning of the
file:
</HEAD>
<BODY>
<%
If IsObject(Session("<Your ODBC Data Source Name>_conn")) Then
- Edit the text so that it reads as follows
</HEAD>
<BODY>
<%
Session.timeout = n
If IsObject(Session("<ODBC Data Source Name>_conn")) Then
where n is the number of minutes for which you want the session to last
before it times out.
- Save and close the file.
STATUS
This behavior is by design.
MORE INFORMATION
Steps to Reproduce Behavior
The following example assumes that you have created an ODBC data source
based on the sample database Northwind.mdb.
- Start Microsoft Access and open the sample database Northwind.mdb.
- On the File menu, click Save As HTML.
- In the first screen of the "Publish to the Web" Wizard, click Next.
- When asked what you want to publish, select the Products form, and
then click Next.
- In the screen that asks you to select a template, click Next.
- Select Dynamic ASP (Microsoft Active Server Pages), and then click
Next.
- Supply the necessary Data Source Information and the URL of the server
location to which you are saving the file; leave the Session Timeout
box blank, and click Next.
- Specify the folder to which you want to publish, and then click Next.
- Click Finish, and then close the database.
- Open a browser on a client computer and type the URL for Products_1.asp
in the Address box. For example:
http://<servername>/scripts/Products_1.asp
- Close the browser.
- On the server, open the sample database Northwind.mdb in Microsoft
Access.
- Try to open the Products table in Design view. Note that you receive
the following error:
You can't open the table 'Products' for modification.
REFERENCES
For more information about creating an ODBC data source, search the Help
Index for "ODBC, setting up data sources."
For more information about the Session object in ASP, open the Active
Server Pages Roadmap and under Contents, click Object Reference.
Additional query words:
7.00
Keywords : kberrmsg IntAsp
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbhowto kbprb
Last Reviewed: May 17, 1999