If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Unexpected Error 40230...type library or wizard is not a vba project
Hi....
I was using a MS ACCESS 97 ... then I installed Access 2000..I converted my database(97) into MDE (2000)..since this conversion both MDB (97) and MDE 2000 are reporting unexpected error..like while trying to view VB code....i get these error... 1) "Unexpected Error 40230".......... 2)requested type library is not a VBA project your comments are appreciated.. Syed |
#2
|
|||
|
|||
Unexpected Error 40230...type library or wizard is not a vba project
Hi Syed,
If you get this message while creating an MDE the likely cause is that your compiled VBA is corrupt. Try a decompile first. If that doesn't work then try importing all your objects into a new MDB and then creating the MDE again. Decompile or how to reduce Microsoft Access MDB/MDE size and decrease start-up times (Last update 2004/04/18) A little known and almost undocumented (see note) feature which can help dramatically shrink the size of front end databases thus reduce bloating and decrease start-up times is the /decompile option. As you compile VBA code various bits of old compiled code get left behind. The /decompile command line option cleans out these and allows for a fresh start. I find I decompile when: 1) I get an error involving VBA332.DLL in Access 97; 2) When really weird things start to happen in code; 3) When the startup form takes several seconds to load. Error 49: "Bad DLL calling convention" can occur for no apparent reason. Sometimes commenting the code where the error occurs, compiling, then uncommenting that code, and recompile again fixes this problem, at least for a while. However other times only a /decompile will fix this problem. One newsgroup posting stated Access 2000 crashes with invalid page fault, or IPF, in VBE6.DLL at 015f:650ad7f2 when he tried to compile one of his projects. Q223206 says to reinstall Office 2000 Professional because DAO360.DLL is damaged or missing but that didn't solve the problem. Decompile did. I've personally seen msaccess.exe - Application Error "The instruction at "0x001e543e" referenced memory at "0x00000000". The memory could not be "written". When I tried it again I saw "0x021a0625" referenced memory at "0x0a358fd0". Thus I strongly suspect the eight digit addresses are not meaningful. Decompile fixed this problem. Whenever I see a newsgroup posting mentioning an invalid page fault (IPF) involving VBA332.DLL I always suggest decompile as the first thing to try. Most of the time that works. My experience has been that you don't need to run the decompile more often than once every month or so to clean things out. You will see the biggest improvement, of course, if you've never done this before on an MDB. Do a backup before the /decompile. Of course you're doing daily offsite backups so this isn't a problem anyhow, right?!?!?! 1a) Create a shortcut with the following "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "d:\My Documents\access\mayapp.mdb" /decompile As appropriate for your environment of course. Note that if your path to your MDB contains a space it must be enclosed in double quotes just as the MSACCESS.EXE component. You can create a short cut but right clicking in the directory of your choice, highlighting new and creating or 1b) Create a one line .bat or .cmd line with the above text in it it using notepad. Hint: Right click in your directory of choice, highlight new and select Text Document. You will be presented with a new file named "New Text Document.txt" or similar. Rename that file to something like "decompile.bat". Then right click that file and select edit. Notepad should then run opening up that file. 2) Click on the short cut or click on the .bat or .cmd file and, in Access 97, you'll get the message "... has converted the code in ... to your current version of Visual Basic". This message does not appear in Access 2000 or newer. Hold the shift key down when you click on Okay so the MDBs autoexec macro won't execute or the start-up form will not be opened. If you have any class modules exit the MDB and re-enter it. This will keep the class modules intact. 3) Now compact the MDB to clean out the old VBA code.. 4) Hit Ctrl+G to open the debug/immediate window or go into any module and click on Debug. If Access 97 click on Compile and Save All Modules. If Access 2000 or newer click on Compile. Compiling is particularly important to see if there were any problems and for performance reasons. 5) Then compact again. Assuming you had compiled your original MDB the new MDB should be significantly smaller. Please let me know has this helped You... Thank You... Raghu... This posting is provided "AS IS" with no warranties, and confers no rights. |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Signing a VBA mde/mdb Access 2003 | John Buckett | General Discussion | 3 | July 3rd, 2004 09:14 PM |
Label | SRIT | General Discussion | 2 | June 22nd, 2004 09:42 PM |
"SchedTask 1.0 Type Library" | tal | Worksheet Functions | 0 | April 21st, 2004 07:06 AM |