Click here to Skip to main content
15,886,016 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I need to link to a file which is in Access format (it can be opened by Access), but it has another file type - .dvprj instead of .mdb or .accdb. The file name needs to stay .dvprj so it will open in its application.

Access will only recognize .mdb or .accdb databases when linking to Access External Data > New Data Source > From Database > Access.

What I have tried:

I set up an ODBC Data source with a User DSN and as a File DSN, but when I try to link a table from Access using External Data > New Data Source > Other Sources > ODBC Database, using either method, I get the following error message:

"You cannot use ODBC to import from, export to, or link an external Microsoft Jet or ISAM database table to your database. (Error 3423)"

Any ideas?
Posted
Updated 2-Mar-18 6:30am
Comments
Maciej Los 6-Feb-18 17:18pm    
I'm not sure it's possible to link DeJaVu file to MS Access database. I can not find any specification for that file.
DeJaVu X3 Professional - Manual[^]
RedDk 6-Feb-18 18:46pm    
Hmmm, so it does ... (Access opens .dvprj) ... but not without a note from the OS. Could you make a copy of the dvprj and change the extension to .mdb and continue from there?
Maciej Los 7-Feb-18 17:07pm    
Well... I have no chance to check it out, because i don't have DeJaVu software. I'm pretty interested if your suggestion may help to resolve OP's issue.
RedDk 7-Feb-18 17:22pm    
Oh Yeah ... non-attending OP in the crosshairs ...

MJ, ever vigilant, as usual... (all eye did was rename the .mdb with the extension .dvprj)
Member 13664630 2-Mar-18 12:33pm    
Sorry! New to the forum and only got notification of the solution recently (15 Feb Message - plus recovery from email backlog). I'm back on the path of e-mail checking righteousness now. Thanks for the help!

First link a copy of the file, renamed as accdb (or mdb).

Then run code to relink to the table(s) from the original file:

visual
Public Function Relink()

    Dim Database    As DAO.Database
    Dim Table       As DAO.TableDef
    
    Dim Connect     As String
    
    Set Database = CurrentDb
    Set Table = Database.TableDefs("SomeTable")
    
    Connect = Table.Connect
    Debug.Print Connect
    Connect = Replace(Connect, ".accdb", ".dvprj")
    Debug.Print Connect
    
    Table.Connect = Connect
    Table.RefreshLink
    Debug.Print Table.Connect

End Function
 
Share this answer
 
This is a great solution.

I will give it a try as I move forward.

Thanks, Tom
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900