Microsoft Access 2010 (mdb) automation with user based security - ms-access

Macros and VB macros are very limited in Access.
I've good C#/.NET skills and created an app with System.Runtime.InteropServices.Marshal.GetObject (captures some process) to use with Microsoft.Office.Interop (makes some Office stuff).
It's works like a charm with .accdb files (MS ACCESS 2010), but when i want to automate mdb base with security...
For example, i can't get Access process with opened DB:
C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE \server\database.mdb /WRKGRP "\server\security.mdw"
New process just starts.
I decided to create an Office Add-In for Access 2010... but when user opens shortcut above - it's just not loading.
Is there any possible solution to open/get/capture Access process with opened mdb database?
upd1: i'll try to play with msaccess cmd startup arguments

Got it!
http://support.microsoft.com/kb/317114/
Look at GetShellApp method - you can pass any arguments and connect to encrypted\user-based-access DB

Related

My Access 2007 program can't find the file 'C:\ProgramFiles\Microsoft Office\Office12\'

I'm on Windows 7 32 bit. When I open my access program, I get an error message as follows:
[Program Name] couldn't find file 'C:\Program Files\Microsoft Office\Office12\'. This files is required for startup.
The above listed directory however, is available - I can find it in Explorer, and I don't see why Access wouldn't be able to.
Note that the program I'm running was originally built in 2007, so it's old, but it was also built with compatibility with Access 2007 (supposedly).
I'm thinking maybe an Access profile issue, but I don't know where to start really.
Have you checked permissions for the folder? Perhaps your app is running as a non-privileged user. One thing to try is to run your app as Administrator.

Is it possible to open a remote MDB Access database using VBScript without mapping the folder as a network drive?

I wrote a VBScript program that runs on five computers running Windows 7 Pro X64.
This VBScript program needs to access to an MDB database (an Access 2000 database) stored on a computer on my LAN, and it contains sensible information.
At the moment my VBScript program works thanks to a hidden network drive that maps the folder containing the MDB file and that is mounted just for the time needed and after it is dismounted. I'd like to know if there is the possibility to access remotely the MDB file from the VBScript program using some ODBC or another driver .
Thanks for attention.

Creating an MDE 2003 file from Access 2010

I run MS Access 2010 on my home PC and I've been building a database for work.
Most workstations at work don't run Access to build databases, but they do allow us to run MDE files for applications already built.
I saved my database as a 2002-2003 database and then published it as an MDE file. All worked really well. I tested the MDE file on my PC at home and the automatic re-linking to the back end db worked and the database popped up. Awesome.
The problem came when I tried to run it on the workstation. It came up with an unrecognized format and suggest I change the version on the database.
So, back to the drawing board. I did some research and from all indications from other forums and sites, you cant build MDE files for 2002-2003 databases using Access 2007 or 2010, even though the option is clearly there.
Suggestions were to load Access 2003 to the PC an build the database using this. OK, did that, imported all of the items from the 2003 database created in Access 2010 to a blank db created in 2003 and I get nothing but errors. Incidentally the database was originally build from and access 2003 database at work! Unfortunately, I no longer have access to that particular workstation.
So that's the dilemma. The question / discussion im after is how to resolve this and get the database, preferably from my office 2010 suite into a standalone system of some type working from a Windows XP workstation at work.
I need to find a way to be able to build these tools at home and use them at work. BTW, upgrading the workstations at work is not an option. believe me the organisation is too large to even consider a change like that, WAY too much bureaucracy..
As mentioned in one of the comments to your question, if you are targeting an older version of Access then you should be doing your development in that version, not a newer one. Even though Access 2010 allows us to create an .mde file that is in the Access 2003 file format, it may actually create an .mde file that Access 2003 cannot understand due to the contents of the file.
The situation is analogous to the problem of making certain modifications to an Access 2007 database in Access 2010+ that render it unusable by Access 2007. Even though the file format is still "Access 2007 or later", Access 2010 may create database objects within that file that Access 2007 cannot comprehend. Depending on the actual objects involved, Access 2007 may simply ignore what it doesn't understand, but unfortunately in some cases Access 2007 will just give up and say "Unrecognized database format".

Converter apps rejecting MS Access 2010 accdb file

I have the Bullzip MS2mySQL converter and another converter by Convert-In.com installed. I am working with a MS Access 2010 accdb file which is working fine in Access but gives errors in both converters. Both converters work fine when used with an old Access 2007 mdb file.
The Bullzip converter error is "Error 3706: Provider cannot be found. It may not be properly installed." I have an open forum topic over there but I have open topics there which are months old with no replies at all.
The Convert-In converter's error is "Unrecognized database format". Their docs specify Access 2010 support while Bullzip does not make mention of versions supported.
The Access Save As dialogue is not offering me any options other than 2010 accdb.
Does anyone have any advice on this? Client needs to continue using Access as GUI but I need to fluidly port data to mySQL for our web apps.
// EDIT
My copy of Access 2010 only offers accdb even for new files. So I tried creating a new database in accdb format with 2007 as the version and imported only the tables from the problem file. No forms or queries etc. Same errors from all converters tried.
// EDIT 2
Per HansUp's suggestion to import data into another file - I changed version to Access 2003 and mdb shows up as format and file is opened by converters!
"The Access Save As dialogue is not offering me any options other than 2010 accdb."
Sorry, I don't have Access 2010 so don't know why it won't let you save as MDB. However, since that option is unavailable, create a new MDB, then open it and import everything you want from the old ACCDB into the new MDB. Sounds like you would then be able to use your converter utilities with the MDB.
If at all possible, I would prefer to replace the native Access tables with ODBC links to their MySQL counterparts. With all the data in MySQL, you could avoid the challenge of synchronizing data between Access and MySQL.

Access 2007 & 2003 : Creating an mde for 2003 users with a 2007 dev copy issues

So i have an image on my computer that has office 2007, and I have the development copy of this database file where I corrected some code, added some fields, etc...
I then converted the Access file (.mdb dev file) to Access 2002-2003 format to create an mde. So I then created the new mde, but when users try to open, it gives them the message that it is not the correct format and that they should upgrade to a newer version of access.
So will i be able to get this done with having office 2007, and these other end users not having their new image pushed yet (so they still have office 2003)? I thought that if I converted the file to 2002-2003 then this should not be a problem>
Thanks
Justin
If you create the MDE in the lowest version of Access involved, it should be usable by all later versions. The format of the MDB file (A2000, A2002/2003, A2007) is separate from the version of Access, as what's relevant to the MDE is which version of VBA is executing the compiled p-code in the MDE. An A2000-format file compiled in A2007 won't run on A2000, for instance, but if compiled in A2000, should be runnable ay A2000, A2002, A2003, A2007 and A2010.
But I'm not entirely certain about this. It could be there's a break from A2003 to A2007/2010. Also, I don't use MDEs that much, and not at all in mixed deployment environments.