Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Help VB Deployment..urgent please...

Status
Not open for further replies.

egapogi

Programmer
Feb 4, 2002
60
0
0
PH
Hey folks,

I already have done my development in VB6 and I installed it to another PC with WinNT... It was okay but when I try to install it on a PC with the same OS (NT) but with office 2000 installed on it, I got this error.

ActiveX component cant create object.

I search the keyword in this forum and tried what I others said but to no avail I can't make it working.

I am using DAO that come with Access 97.

Anybody can help me?

I tried using regmon.exe to monitor registry access but it seems so complicated to understand.

Anyone can help me with this?.

Thanks a lot..
 
You have a self bulided ActiveX component?

 
Hi,
This message usually means that your program can’t see the database. Need to change your connection method (DAO version). Old proverb ‘Newer is not always better’.

regards,
vbDoc vb_doc@hotmail.com
 
Thanks for your interest petermeachem,1127 and vbDoc.

I build my setup using VB6 Deployment/Package wizzard.

I dont have any third party ActiveX or any builded activex component except that of MS Access DAO Library and MSAccess8 library.

Somebody told me to use ADO instead of DAO but I dont have much time to do that.

For vbDoc, the application is fine when I install it to a unit which dont have office2K installed. but I have to have a solution on this issue because some of my user are using office2K.


Hope you can help me.

thanks,

 
The problem is probably between the two different access versions. If your vb program was written to create something in access (97) - a table, a query, etc. then you need the access 97 dll's on the machines to run this program. I believe the problem comes in when the machine has access 2000 dll's loaded. I've had problems with these varying versions and it can be annoying.

Check your references within the project. Make sure MSACCESS8 is choosen and not MSACCESS9. Also when definining access objects/schema I believe you can also specify the version there. ie: Access.application can also work as Access8.application (or something close to that).

Secondly check the script for the package and deployment setup. Make sure that any access8 related files are saved into a different directory from any access version that may be on the user's machine.

I hope this helps!

Shannon
 
Try to find the activeX controls, such as msflxgrd.ocx, used in the project. (you can find this out by using the package and deployment wizard and view the dependencies found) copy them from wherever they are on your machine to the users machine (i develop on win2k and usualy put them in the system32 directory). register them all. (Register example: regsvr32.exe c:\winnt\system32\msflxgrd.ocx).
 
Thanks guys,

One by one i looked into all DLLs and OCXs and everything is there and versions are the same.

I inserted lines in my codes to write a log file before and after each suspected lines.
I found out that the function "NZ(Value,ValueIfNull)" is giving me the hell.

I think this is a function in VBA not VB. So I just wrote a function which will do the same and things are okay.
But I deep inside my code I am not sure if there are functions in VBA which I used.

I don't know where exactly this function "NZ" resides. Is it in DLL/OLB/TLB? I have MSACC8.OLB, STDOLE2.TLB VB6.OLB and MSVBVM60.DLL. These my suspects but all DLLs and OCXs are properly installed.
I just dont know OLB and TLB.
I look into my setup script they are just simply copied.

Any further Help guys?.

Thanks a lot.
egapogi
 

If the function is a VB function then it should be found in help within VB. The accompanying dll/ocx would be one of the VB ones that you can select from references I'm sure.

Alternatively you can search for the function in help from Access - if it is found here then it prolly a vba function or it could be a direct access function and you will need to include the correct references.

Shannon
 
Include in You references the Access Object Library!!!!
The NZ function it's only in access!
In VB don't exists controls that have value NULL.
If You open a recordset and one of the fields is NULL You have to add an extra value to it.
If it's a string You add <Field> & &quot;&quot;, numeric: <Field> & 0
Try to eliminate the NZ function or write a function that emulate this.
For ex. You get like parameter a variant and You return a variant.
This will slow down the app but You don't have to replace (eliminate) every NZ.

Tibi
 
I know I'm coming into this discussion a bit late, but when I ran into a similar problem awhile back, it stemmed from the absence of a file named dao2535.tlb. As I understand it, this file is used in Access 2000 to translate older DAO code which would have been used up through Access 97. In the Access Reference registration tool it appears as: 'Microsoft DAO 2.5/3.1 Compatibility Library.' It is supposed to reside at c:\program files\common files\microsoft shared\dao\ (It can actually reside anywhere as long as you point to it in the registry.)

If you do not see the *.tlb file on your c: drive, you can probably cut and past from a machine that has Access 97.

Hope that helps.

Dennis
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top