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 Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Error 429 (ActiveX Component can't create object.

Status
Not open for further replies.

tpbjr

MIS
Oct 8, 2004
120
US
Hi Everyone,

I have tried to resolve two errors that have been reported with my application, with no success. The other error with the same application was error 713 (please refer to another post that I made and tried the suggestions without success). Post thread222-1155350

My application can be downloaded at Just click the try button to download.

I know this is asking a lot but I would really appreciate a resolution to this problem. I was not aware of this issue on my developement machine but I finally got a cheap computer and installed XP and I was able to get the same error that everyone else is reporting to me. The only users who do not report this issue are the ones that have MS Access install on there machines.



Thank you for all your help

Tom
 
Suggest again that you read faq222-2244 to see how the forum works!

Then look at your code, see where it errors, reduce the code to the simplest version that displays the error and post the offending piece of code.

It sounds as if you are using a reference to an Access library in your original code. If that is the case, then as you obviously can't distribute the Access library, you need to remove the Access library reference, and replace with standard ADO code, or buy Access licences for all your users.

________________________________________________________________
If you want to get the best response to a question, please check out FAQ222-2244 first.
'If we're supposed to work in Hex, why have we only got A fingers?'
Drive a Steam Roller
 
Ok, so it looks like I have a license issue that I was not aware of!

I did not know that you could not distribute DLL's that come with VB6.

Boy, I have a lot of work to do to change from DAO to ADO.

Thanks for all your help.

PS.
Per the rules it looks like I broke so many I there are so many, I feel intimedated a little.

Thank you for all your help

Tom
 
In general you can distribute the stuff listed in REDIST.TXT

A search in the installation folder for VB (or Visual Studio) should find it, along with your EULA which clarifies redistribution issues. The Access library would not be installed with VB.

PS the faq is a guideline to successful forum use, rather than a prescriptive set of rules. It was compiled by a group of long-term users to help others get the best from the forum. Following it's guidelines isn't mandatory (as you have discovered) but should help you and others to get better use and value from the forum, both as an asker and an answerer.

________________________________________________________________
If you want to get the best response to a question, please check out FAQ222-2244 first.
'If we're supposed to work in Hex, why have we only got A fingers?'
Drive a Steam Roller
 
I only seem to be able to do ADO if I reference 'Microsoft ActiveX Data Objects 2.8 Library.

Then I can type ADBO. and I see methods, properties to choose. Would this be breaking a licencse issue by referencing the library and distributing it?

If it does, then how do I even develope something that uses an MS Access database without breaking license agreements?

I really appreciate a push in the right direction.

Thank you for all your help

Tom
 
I am really feeling stupid here!
How did your answer above get infront of my last question?
It was not there when I submitted my questions about the 2.8 library!

Can we go back to your first statement about ADO?
I am totally lost on how to develope my software legally, using an MS Access database. It is starting to sound like it is not possible without me purchasing licenses for all users or unless they have Access install on their machine.
Would that be a true statement?

Again, I really appreciate your patience and help.

Thank you for all your help

Tom
 
The standard ADO and DAO libraries should be on your redistributable list. There is no problem using ADO and/or DAO technologies to work with .MDB files. The restriction is on using the Access Object Library, which gives support for queries, reports etc.

MSDN archives still contain some relevant stuff on DAO/ADO usage:
under the Data Access heading

________________________________________________________________
If you want to get the best response to a question, please check out FAQ222-2244 first.
'If we're supposed to work in Hex, why have we only got A fingers?'
Drive a Steam Roller
 
<Access Object Library, which gives support for queries, reports etc

Of course, you can do queries without using the Access Object Library, if that's a sticking point for you. Reports is another matter...
 
So to clearify everyone's input:

I changed the reference to ADO 2.8 and modified enough of the application to successfully create an EXE and then I created a new installation. Then I installed it on a clean machine and it worked:)

The only problem I have is there is a lot of code that ADO does not support such as Seek and NoMatch.

Are we 100% sure that I cannot get the DAO reference to work, legally of course?

Thanks again--everyone has been so helpful with my dilema.

Thank you for all your help

Tom
 
One more question:

Why would the Reference to Microsoft ActiveX Data Objects 2.8 Library work after installing on a clean machine but when I referenced Microsoft DAO 2.5/3.5 Compatiblity Library or Microsoft DAO 3.6 Object Library, it would not work on a clean machine.

Now I made sure that I only referenced one per each EXE creation and made sure I had the correct library included in my MSI install file.

I am thinking the ADO 2.8 works because I am testing on a clean XP machine and it may have been included with SP2.

Thank you for all your help

Tom
 
ADO uses different ways to accomplish the same things as seek and nomatch. All you have to do is use Find and EOF, see? Another way is to use Filter and EOF/BOF. Actually, I prefer that one for the most part.

Generally, you will find that ADO has a number of advantages. First, the objects are more simple and streamlined. Why should you need to use Seek for a keyed recordset and Find for an unkeyed one, for example, and each with different syntax? Also, why should you call an Edit method before editing a recordset? Those sorts of things. Furthermore, ADO's object hierarchy is much flatter. You create a connection and a recordset, and in you go. If you want to do action queries, you create a connection and a command, and there you are. With DAO, you have to fool around with implied workspaces, dependent object syntax, and more.

Next, ADO has a broader application. The Connectionstring property is very flexible--you simply pass the parameters that the underlying database needs to support providing data. ADO can access any number of data stores, including XML and other forms of non-relational data.

So, I would lose the DAO and use ADO.

<I am thinking the ADO 2.8 works because I am testing on a clean XP machine and it may have been included with SP2.
You may very well be right. It's always difficult to get the install program working when you are using either ADO or DAO.

HTH

Bob
 
Bob,

I figured out the FIND and EOF but thank you very much.

I am about 85% done with changes. The biggest change I am faced with now is having to close the recordset then set the index, then open the recordset again.

With DAO, I was able to change indexes while it was open but when I try it with ADO I get an error.

After testing, and closing the recordset the rst.index = "Title" did not cause an error, for example.

I think I am on a finishing track and I want to thank each and everyone of you for helping get there. I do not think I could have done it without Tek-Tips (All of You).


Thank you for all your help

Tom
 
I just put an index on the fly, using myRs.Fields("myField").Properties("Optimize") = True. This builds an ad hoc index on the field chosen.

HTH

Bob
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top