[AccessD] acCmdCompileAllModules - Solved!

Dan Waters dwaters at usinternet.com
Mon Oct 18 09:53:04 CDT 2004


Gustav & Marty,

 

I put this code in the Click event of the system Exit button:

 

If CurrentPCName = "DanWaters" Then

    '-- Try to compile the VBA code.  If it doesn't compile, stop system

        shutdown. _

        Note: If VBA code can't be compiled, no error is raised.  But,

                  Application.IsCompiled will still be False. _

              If VBA code can be compiled, then it will be compiled and 

                  Application.IsCompiled will then be True.

    DoCmd.RunCommand acCmdCompileAllModules

    If Application.IsCompiled = False Then

        FormattedMsgBox GstgNotReady, "The database could not compile!@ @",

            vbExclamation + vbOKOnly, "Not Compiled"

        Exit Sub

    End If

End If

 

The function CurrentPCName is my function which uses the API
GetComputerName.

 

It turns out that acCmdCompileAllModules really does compile code in the
current database.

 

 

Thanks for your help!

Dan

 

 

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly
Sent: Monday, October 18, 2004 1:30 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] acCmdCompileAllModules

 

You could try these

http://www.access.vis.pl/af0424a.htm

 

My Polish is lousy.

NB.  IMPORTANT  These undocumented commands should only be attempted by 

fully qualified stunt driver.

 

    ' Call a hidden SysCmd to automatically compile/save all modules.

         Call SysCmd(504, 16483)

 

or you could also try Application.IsCompiled   I have heard this maynot 

work in cases where you don't

have full permissions to all objects in the database.Linked tables maybe?

 

Polish List

 

SysCmd(7) 'Detects the Access VERSION number

 

For Access 97:

 

SysCmd 603, PathMdb, PathMde 'convert MDB -> MDE

SysCmd 602, PathMdb, PathMdb 'compact DB

SysCmd 555 'create MSysIMEX... tables

SysCmd(504, 16483) 'save and compile code

SysCmd(504, 16484) 'save code without compiling

SysCmd(501, i) 'list of references, i = 0, 1, ... n

SysCmd(500) 'count of references

 

For Access 2000+:

 

SysCmd 603, PathMdb, PathMde 'convert MDB -> MDE

SysCmd 602, PathMdb, PathMdb 'compact DB

'You must use in this case following method, example:

    Dim accApp As Access.Application

    Set accApp = New Access.Application

    accApp.SysCmd 603, PathMdb, PathMde

    accApp.SysCmd 602, PathMdb, PathMdb

    Set accApp = Nothing

SysCmd(605, 0) 'convert DB to previous version

SysCmd(605, "C:\Database97.mdb") 'convert DB to previous version

SysCmd(607,"C:\Project1.adp") 'convert DB to ADP project

SysCmd(608, i) '60 tips about Access programming for i=0, 1, ... 60

SysCmd(710, 68486165) 'set Polish keyboard (if installed)

SysCmd(710, 67699721) 'set US keyboard

SysCmd(710, 68748313) 'set Russian keyboard

SysCmd(710, 67634184) 'set Greek keyboard

SysCmd(710, ...) 'set other country keyboard

SysCmd(710,1) 'set next installed keyboard

SysCmd(710,0) 'set previous installed keyboard

SysCmd(711) 'return put keyboard currently

SysCmd(714) 'returns TRUE, if any form, report, macro or module is in design

mode

SysCmd(715) 'returns Build number of MSACCESS.EXE file to check Access

version or e.g. which Service Pack is installed.

 

 

 

Dan Waters wrote:

 

>Has anyone tried this?

>

> 

>

>DoCmd.RunCommand acCmdCompileAllModules

>

> 

>

>I wanted to use it to detect any compile errors before shutting down my

>development database.  I tested with a misspelled keyword (DoCmd.Close

>acformX, "frmMyForm"), and this was not detected by the compile command.
Of

>course if I click the compile button it is detected.

>

> 

>

>Should this work as I'm expecting?

>

> 

>

>Dan Waters

>

>ProMation Systems, Inc.

>

>  

>

 

-- 

Marty Connelly

Victoria, B.C.

Canada

 

 

 

-- 

_______________________________________________

AccessD mailing list

AccessD at databaseadvisors.com

http://databaseadvisors.com/mailman/listinfo/accessd

Website: http://www.databaseadvisors.com




More information about the AccessD mailing list