2 questions about decompile

L

Lars Brownie

From different resources I found the following tips about decompile:

1. http://www.fmsinc.com/free/newtips/access/accesstip7.asp
"1. From the Windows, Start, Run command line, type: msaccess.exe /decompile
where msaccess.exe includes the complete path. For example:
C:\Program Files\Microsoft Office\Office12\MSACCESS.EXE /decompile
2. When Access opens, open the database you want to decompile (with trusted
authority for Access 2003 or later)
3. Open up any module. Compile it via Debug, Compile.., then File, Save."

and

2. http://www.databasecreations.com/Largedb.pdf
"Our experience has taught us that if you first decompile and then compact
the program file skipping the compile step, the program file is as small as
it can get (often 10-50% of the original size)."

I have 2 questions about this:

1. How would you decompile when Access is running via Citrix and you don't
know the complete Access path?

2. In tip 2 the compile step is skipped. Is this correct? In order to make
an mde the compile step is required.

Thanks, Lars
 
D

Douglas J. Steele

1. How can you not know the complete path to Access? In any case, decompile
isn't something you do as a matter of course. It's often useful during
development, but not once the application is in production. See
http://www.trigeminal.com/usenet/usenet004.asp for more details.

2. The compile step is skipped between the decompile and compact step in
order to minimize the size of the mdb. Once you've reduced the size of the
mdb, you can then compile and convert to an mde.
 
L

Lars Brownie

1. How can you not know the complete path to Access?

This is a Citrix environment with restrictive permissions for its users. I
can't find the complete path anywhere. And if I knew the path, I don't think
I could refer to it in a shortcut.

Lars
 
D

Douglas J. Steele

SysCmd(acSysCmdAccessDir) will return the folder where msaccess.exe resides.
For instance, you could run the following VBScript:

Dim objAccess
Dim strPath

Set objAccess = CreateObject("Access.Application")
strPath = objAccess.SysCmd(9)
WScript.Echo strPath
Set objAccess = Nothing

You seem to have ignored my other comment that you shouldn't need to know
this anyhow.
 
L

Lars Brownie

Thanks Douglas.

I´m not sure I understand what you say about your other comment. Let me
explain:

I want to decrease the size of my frontend by using decompile as a one time
action. I´ve read the risks in the link you mentioned, but I´d still like to
try it on a test frontend. The frontend is in production but also still in
development.

Since I don´t seem to be able to create the desired shortcut, I was
wondering if there was a another way. Maybe with the code you´re provided
I´m able to make it work. I´ll test on monday.

Thanks again.
Lars
 
D

Douglas J. Steele

Decompile the application on your development workstation, compact it and
convert it into an MDE, then give each user a new copy of their MDE.

There's no reason to be doing any of that in the Citrix environment.
 
L

Lars Brownie

There's no reason to be doing any of that in the Citrix environment.

But there is. Since I'm don't have a specific development workstation, I
develop in the same Citrix environment as the users work in (of course in a
separate FE-development.mdb). There is no local Access or data present. All
users have their own instance of the FE in their private network drive and
the backend is on the shared network drive. When users log in into the
application, an automated update routine copies the frontend to the user's
private network drive when an update is available.

Lars
 
R

Rick Brandt

Lars said:
There's no reason to be doing any of that in the Citrix environment.

But there is. Since I'm don't have a specific development
workstation, I develop in the same Citrix environment as the users
work in (of course in a separate FE-development.mdb). There is no
local Access or data present. [snip]

But why don't you have a copy of Access on your own PC? Your company has to
pay for an Access license for you so they might as well give you a "real"
development environment instead of being hobbled by trying to work over
Citrix.
 
L

Lars Brownie

It's company policy to minimize network traffic. And I have never run into
issues with this.

With the code Douglas provided I did manage to find out the full Access path
today and also managed to decompile. Thanks.

Lars

Rick Brandt said:
Lars said:
There's no reason to be doing any of that in the Citrix environment.

But there is. Since I'm don't have a specific development
workstation, I develop in the same Citrix environment as the users
work in (of course in a separate FE-development.mdb). There is no
local Access or data present. [snip]

But why don't you have a copy of Access on your own PC? Your company has
to pay for an Access license for you so they might as well give you a
"real" development environment instead of being hobbled by trying to work
over Citrix.
 
R

Rick Brandt

Lars said:
It's company policy to minimize network traffic. And I have never run
into issues with this.

But you are using MORE network traffic to do this via Citrix than if you did
it locally.

Citrix is good for running Access apps when you don't have a good LAN
connection. It is not good for developing them. Unless...are you doing
this remotely or are you are on the same local network as the Citrix server?
 
L

Lars Brownie

Thanks for your comments. See inline:
But you are using MORE network traffic to do this via Citrix than if you
did it locally.

Our IT is outsourced and company policy is to not have local apps running,
since the actual data has to be transfered back and forth over the network.
When running via citrix only the screenupdates have to be transfered. The
actual running of the application and processing the data happens on one
location I agree that this doesn't account when I develop my app locally
with local data.
It is not good for developing them. Unless...are you doing this remotely
or are you are on the same local network as the Citrix server?

I'm not sure I understand but I think I'm on the same local network as the
Citrix server. The citrix environment is about 200 km from my work.

I could do a special request to get Access installed locally, but I don't
see the benefits of it yet and I'd rather develop in the same environment as
where the production environment is so that I don't run into unexpected
behavior. Or am I missing something?

Lars
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top