Blank table names when trying to link ODBC tables in Microsoft Access

Copper Contributor

I am trying to create a linked table via External Data -> New Data Source -> From Other Sources -> ODBC Database in Microsoft Access. I am able to successfully connect, but when the Link Table window pops up, all of the table names are blank (see attached image) . If I try to click on one of the blank tables, an error message pops up saying "Invalid Argument".

I have been able to query the Datasource using the Query Designer, and I am able to see the tables in Excel when using the Data -> Get Data -> From Other Sources -> From ODBC. I have also been able to add some print statements to the ODBC code and I am seeing in the raw output from the SQLFetch function that the table name is present.

If anyone has any idea as to what may be happening, or even a way to somehow to debug the Microsoft Access calls that would be extremely helpful.

8 Replies
What schema are the tables in. It seems to me that I recall a problem displaying tables that aren't in the default dbo schema, but I may be conflating issues. Please verify whether this is a factor here or not. Thanks.

@rfdom 

I've also had problems linking to tables that aren't in the default schema.

 

However, one other thought. In the Navigation options in Access, try ticking Hidden Objects and System Objects. Do the linked table names appear now?

 

 

Yes, all of our tables are outside the default schema.
I think Colin's suggestion should work here.
I tried ticking "Hidden Objects and System Objects" and the tables still not show.
What is the data source again?
The data source/driver is the driver from Syware https://www.syware.com/products/odbc_driver_kit.php . We build the driver ourselves though and are able to make code changes as needed.

@rfdom 

 

"We build the driver ourselves ....."
That might explain it, I guess. We were assuming you used one of the standard MS drivers, like this one for SQL Server. All bets are off, I think, under those circumstances. It also begs another question. Where is the data? I had also assumed it was in a SQL Server database, but is that the case?