?
Solved

ActiveX error on network computer

Posted on 2003-03-10
12
Medium Priority
?
289 Views
Last Modified: 2013-11-14
I have created an application that access an Access 97 database, to search add/update/delete records. I converted the program to a .exe. Then placed it on the main computer. The program works fine from this computer which is running XP. I placed the application in a shared folder on the network because two other computers need to access this application. Again it works fine on the main computer running XP. The other two computers are running Win 98 and do NOT have MS Access installed on them. The program was built in VB6 on my Win 98. But when I go to the shared folder from the network computers (the win98's)I get an error 429 "ActiveX component can't create object" How do I fix this. I have alreay install the VBrun60sp5.exe service pack on one of the computers and still I get the error. Any immidiate help would be greatly appreciated!
0
Comment
Question by:Turkle112
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 3
  • +2
12 Comments
 
LVL 34

Expert Comment

by:arbert
ID: 8106187
You must also distribute the Jet engine and all the associated DAO (and possible ADO/MDAC) to the client machines.  These MUST be installed locally on all machines so the registry entries can be made.

You can use the distribution wizard that comes with VB to find most of the DLLs that you need to distribute, but I've had that hose many systems.  You're better off to get something like InstallShield to assist you with deployment.


Brett
0
 
LVL 3

Expert Comment

by:PhiliP
ID: 8106746
get a copy of MDAC_typ.exe and install this. You can find it at
Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Redist

Be aware of the version. VB6 ships with MDAC 2.0
Today MDAC 2.7 is the current version

So in my opinion arbert was right.
0
 

Author Comment

by:Turkle112
ID: 8161059
I installed VB6 MDac 2.7 on one of the client machines as well as on the main computer. I am still getting the same error. Any other suggestions will be much appreciated!
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 34

Expert Comment

by:arbert
ID: 8161509
You really need to see what other dependencies the VB project is using and distribute and register those on the clients!  Error 429 usually means that a DLL isn't registered....

Brett
0
 
LVL 3

Expert Comment

by:PhiliP
ID: 8161558
Ok. Need more info to support.

Did you?

Run the Package and Deployment wizard from scratch?
Create a setup program?
Run the setup program?
Used third party controls? Got the licences right

create a shared folder for you database?
covered access rights from W98 to Networkfolder

In what way are you connecting to your database?(native driver or DNS)

Is your connectstring hardcoded or external configurated?
Did you use the data environment(oeps)
Did you use datacontrols(oeps)



0
 

Author Comment

by:Turkle112
ID: 8164227
I do not know which .dll files are missing.

As far as the P&D wizard I didn't use either. I never have, because I have heard that it's not that great. (note: I have never had this much trouble transfering a program to a another computer.) All I do is create the .exe file and copy that along with the database to a disk then copy from there to the computer it's for. (another note: No expert in VB, only a little basic knowlegde picked up in a 5 week class)

The database and .exe are on the main computer in a shared folder that is (of course) shared with the two client machines. The database was converted from an Access 2000 DB to an Access 97 DB.

Code for the ADD FORM:

Option Explicit
Dim answer As Integer
Const DBName As String = "MACS.mdb"
Dim strPath As String
Dim db As Database
Dim rsMembers As Recordset
Dim strSQL As String

Private Sub Form_Load()
strPath = "C:\Documents and Settings\AllUsers\Documents\Application\"
'open the database
Set db = OpenDatabase(strPath & DBName)
'open the recordset
Set rsMembers = db.OpenRecordset("memberdata")    
End Sub

private sub cmdAdd_click()
If answer = vbYes Then
   
'adding record and clearing form
strSQL2 = "INSERT INTO memberdata(firstname, lastname, street, city, state, zipcode, email, dob, DL_STATE, drivers, JOIN_DATE, comments_notes, comments, barred, signature)"

strSQL2 = strSQL2 & " Values('" & txtFirst.Text & "', '" & txtLast.Text & "', '" & txtStreet.Text & "', '" & txtCity.Text & "', '" & txtState.Text & "','" & txtZip.Text & "', '" & txtEmail.Text & "', '" & txtDOB.Text & "', '" & txtDstate.Text & "', '" & txtDrivers.Text & "',  '" & txtJDate.Text & "', '" & txtComments.Text & "', '" & chkCom.Value & "', '" & chkBar.Value & "', '" & chkSig.Value & "');"
   
db.Execute (strSQL2)

MsgBox "New Member has been added!", vbInformation, ""
    Me.Hide
    Unload Me
End If
end sub

I am at my wits end here and I just know it is something so simple that I am missing. Thank you guys for all the help!
0
 
LVL 34

Expert Comment

by:arbert
ID: 8164253
Ok, you said


"I installed VB6 MDac 2.7 on one of the client machines as well as on the main computer. I am still getting the same error. Any other suggestions will be much appreciated! "


Did you also install the new JET engine?  MDAC 2.7 requires the installation of the new jet database engine (for DAO that is).


Download it here:

http://www.microsoft.com/downloads/details.aspx?FamilyID=af693865-2bab-4ae5-b001-42840473ef39&DisplayLang=en


Also, this link points you to the MDAC component checker to see what level of MDAC is installed and if it's installed correctly:


http://www.microsoft.com/downloads/details.aspx?FamilyId=8F0A8DF6-4A21-4B43-BF53-14332EF092C9&displaylang=en



Brett
0
 

Author Comment

by:Turkle112
ID: 8166669
Thanks Brett, I'll give that a try and see what happens
0
 
LVL 3

Accepted Solution

by:
PhiliP earned 200 total points
ID: 8178057
notice:

strPath refers to a local path? not a networkshare

dim db as database  
database is a Data Access Object so youre using DAO not ADO

check your reference if both DAO and ADO are referenced
you should declare your objects as:

dao.database
dao.recordset

you can try to do sme eventlogging:

put msgboxes after every line indicating the line or use

Call App.LogEvent("Message", vbLogEventTypeInformation)
should result in a logfile(w9x) or a entry in the eventlog(NT)
0
 

Expert Comment

by:CleanupPing
ID: 8900381
Turkle112:
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
Experts: Post your closing recommendations!  Who deserves points here?
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 9074692
Moderator, my recommended disposition is:

    Accept arbert's comment(s) as an answer.

DanRollins -- EE database cleanup volunteer
0
 
LVL 3

Expert Comment

by:PhiliP
ID: 9103742
NoNo Give the point to AzraSound He needs them to keep his first place.

HaveFun PhiliP
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question