Stuart McLachlan
stuart at lexacorp.com.pg
Thu Jan 26 23:20:38 CST 2012
I just did a bit of playing with a call to ShellExecute which your System.Diagnostics.Process appears to be a wrapper for. You only get one instance if you set the Filename to yourMDB However, you can open multiple instances of the same MDB if you set the FileName = MSAccess.exe and the Parameters = yourMDB. Interestingly, I didn't need to put the path to MSAccess.exe in the ShellExecute() call even though it is not in my Path. Windows must be using the Registry to locate it. -- Stuart On 25 Jan 2012 at 14:48, jwcolby wrote: > You might remember my discussing a C# program I am writing which I call CopyAndRun (C&R). It > basically is a table driven method of copying one or more files from the network to the user's > workstation and then executing the (access) application. I use it for creating a directory and > copying my libs and access apps to the user's local c: drive. > > I use the following code to actually open the file: > > public void mExecuteFile() > { > //http://stackoverflow.com/questions/5831844/tracking-multiple-processes-at-same-time > try > { > System.Diagnostics.Process myProcess = new Process(); > myProcess.StartInfo.FileName = pDestFileSpec; > myProcess.StartInfo.UseShellExecute = true; > Process.Start(pDestFileSpec); > } > catch (Exception) > { > throw; > } > } > > Basically this hands off opening the file to Windows to use File Associations to figure out how to > open the file. This works well except that Windows will not open the same Access container (same > name) multiple times. Some of the users like to keep the FE open a couple of times. I worked > around this by adding an incrementing number to the file name until the file name is not in use > (open) and then copy to and use that file name. > > The other problem is that as the FE opens, C&R is not "finished" until the login stuff finishes (in > the FE). This one took awhile to figure out what was up. Apparently Process.Start does not return > until Access' thread goes idle. Sigh. I have not found a workaround for that yet. > > What that means is that the user cannot start multiple instances loading at the same time. Start > one, log in, start the next, log in, start the next etc. > > Other than that, it seems to work very nicely, and the file association thing does allow Access to > "just figure out" what program to use rather than my having to know the path to Access on each > user's workstation. > > I hope to call this one done. > > -- > John W. Colby > Colby Consulting > > Reality is what refuses to go away > when you do not believe in it > > _______________________________________________ > dba-VB mailing list > dba-VB at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-vb > http://www.databaseadvisors.com > > -- Stuart McLachlan Ph: +675 340 4392 Mob: +675 7100 2028 Web: http://www.lexacorp.com.pg