ACC: "Couldn't Find Object <Table Name> Error Message

Last reviewed: August 8, 1997
Article ID: Q93685
The information in this article applies to:
  • Microsoft Access versions 1.0, 1.1, 2.0

SYMPTOMS

Advanced: Requires expert coding, interoperability, and multiuser skills.

When you import or attach Btrieve files, you may receive the following error message:

   Couldn't find object <tablename>

CAUSE

  1. Microsoft Access requires all three Xtrieve data dictionary files (FILE.DDF, INDEX.DDF, and FIELDS.DDF) in order to import or attach Btrieve files. The path statements in FILE.DDF may not be correct for the current environment.

    -or-

  2. The descriptive Btrieve table name begins with a SQL keyword that causes Microsoft Access to return the above error message.

RESOLUTION

  1. Inspect the path statements in FILE.DDF. Either move the Btrieve data files to the locations specified in FILE.DDF, or use Btrieve or a third-party tool to modify the FILE.DDF file so that the path statements to the data files are correct.

  2. Check the descriptive Btrieve table name to see if it begins with any of the following SQL keywords: SELECT, INSERT, IN, UPDATE, ALTER, TRANSFORM, DELETE, CREATE, DROP, PROCEDURES, or PARAMETERS.

MORE INFORMATION

Cause 1

Microsoft Access requires all three Xtrieve data dictionary files (FILE.DDF, INDEX.DDF, and FIELDS.DDF) to be able to import or attach Btrieve files.

FILE.DDF contains the MS-DOS file name of each data table in the dictionary. These file names can be in any of the following valid MS-DOS formats:

  • File Only (for example, MYDATA.DAT)
  • Relative Path (for example, ..\DEV\TEST\MYDATA.DAT)
  • Fully qualified (for example, C:\TOOLS\DEV\TEST\MYDATA.DAT)
  • Universal Naming Convention (UNC) (for example, (\\MYSERVER\USERS\JOE\TOOLS\DEV\TEST\MYDATA.DAT)

When you are importing or attaching a Btrieve file, Microsoft Access retrieves the MS-DOS filename from FILE.DDF and attempts to open the file. If the file does not exist in the location specified, you will see this error message:

   Couldn't find object

In the case of the File Only and Relative Path formats, the ability to open the file depends on the accuracy of the current directory. For example, in the File Only format, MYDATA.DAT must exist in the current directory. In the Relative Path format, MYDATA.DAT must exist in the ..\DEV\TEST directory, which in turn must exist relative to the current directory.

Exactly which directory is the current directory is complicated by the fact that Windows-based applications all share the same environment and the same current directory. For example, if you change the current directory in Microsoft Excel by choosing Open from the File menu and changing directories to open a file, you also change the current directory for Microsoft Access.

Therefore, to fix the problem, you need to find out what path statements are included in FILE.DDF. You can do this by opening FILE.DDF in Microsoft Write, the word processor provided with Windows. When Microsoft Write asks if you want to convert this file to Microsoft Write format, choose No Conversion.

WARNING: Do not save the file after you finish viewing it with Microsoft Write. If you do, you will corrupt FILE.DDF beyond repair.

After opening FILE.DDF in Microsoft Write, you will see several characters that look like a box. Scroll to the end of the file. There you will see the MS-DOS file names of the Btrieve data files. The extension is usually .DAT, but it does not have to be. After you have noted the names and paths, close FILE.DDF taking care NOT to save the changes.

Now that you have the file names, here are two things you can do to fix the problem:

  1. Move the files into the correct location(s). This is the easiest method and the one Microsoft recommends.

  2. Use Btrieve or a third-party tool to modify the FILE.DDF file so that the paths are correct. This method is much more complicated. Microsoft recommends you do not attempt them unless you are a Btrieve expert.

Cause 2

When you first attach a Btrieve table, Microsoft Access displays the descriptive table name, which is different than the DOS filename for the Btrieve table. For example, "IN Product File" is the descriptive name while INPRODUC.DAT is the DOS filename.

Microsoft Access reads in the descriptive name during the initial attachment and checks the name to see if it is a SQL keyword. If it is, Microsoft Access will return the above error message.

Therefore, to fix the problem, you will need to modify the descriptive name to change it to another name that does not conflict with any of the SQL keywords listed above. Using the above example, change the descriptive name from "IN Product File" to "IN_Product File."

You will need to use Btrieve or a third-party tool to modify the FILE.DDF file to change the descriptive name. This method is complicated and Microsoft recommends you do not attempt this unless you are a Btrieve expert.

The third-party products discussed here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability.


Additional query words: novell ddf 3rdparty
Keywords : IsmBtrv kb3rdparty kberrmsg
Version : 1.0 1.1 2.0
Platform : WINDOWS
Hardware : x86
Issue type : kbprb
Solution Type : Info_Provided


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.

Last reviewed: August 8, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.