List of registered ActiveX Controls

O

Olo

I have 10-15 computers, and I want to (have to :) ) compare the list of
registered ActiveX Controls. I see that lists in menu "Tools" => "ActiveX
Controls...", but I don't whant to compare it manualy. I want to export that
lists to a file (*.txt or *.xls).

How can I do this ????

I want to export the name of the ActiveX Control and the path to a file.

Thanks
 
D

Douglas J. Steele

There's no facility to do that that I'm aware of.

Rather than concerning yourself with all of the ActiveX controls (many of
which can't be used with Access anyhow), why not concentrate only on those
controls which you need? On a machine that has them, note the location of
each file, and even its versions. Look on each of the other machines to
ensure that the same version of the file is located in the same location.
I've got a couple of snippets near the beginning of
http://www.accessmvp.com/DJSteele/AccessReferenceErrors.html that help to do
this.

This won't, of course, guarantee that the control is registered: simply that
it's present. If you're concerned, you can always use regsvr32.exe to
reregister all of the controls (reregistering an already registed control
won't cause any problems.)
 
O

Olo

It's no so easy, because unfortunatly I don't know which ActiveX control is
that what I'm looking for. I'm not an author of the database. The database
work corectly on one computer, but on another I have an error message.
That is why I have to compare all ActiveX controls on the "good" PC, with
those on "bad" :/

The error message is: "The OLE server isn't registered. To register the OLE
server, reinstall it." And the efect of this message is that I don't see the
chart on the form. I found some articles about that message, I do what thay
say, but whithout any results.
 
D

Douglas J. Steele

Did you look at the code I cited?

First pass, simply look at what's included in the References collection.
That will get most of the external references.

If you still have problems, then you'll have to loop through all of the
forms, opening them in Design mode and checking every control to see which
are custom.

Sub FindActiveXControls()
Dim dbCurr As Database
Dim ctrForm As Container
Dim docForm As Document
Dim frmCurr As Form
Dim ctlCurr As Control

Set dbCurr = CurrentDb
Set ctrForm = dbCurr.Containers!Forms
For Each docForm In ctrForm.Documents
DoCmd.OpenForm docForm.Name, acDesign, , , , acHidden
Set frmCurr = Forms(docForm.Name)
For Each ctlCurr In frmCurr.Controls
If ctlCurr.ControlType = acCustomControl Then
Debug.Print ctlCurr.Name & _
" (on Form " & docForm.Name & ")"
End If
Next ctlCurr
DoCmd.Close acForm, docForm.Name, acSaveNo
Next docForm
Set dbCurr = Nothing
End Sub

That will identify all of the custom controls used in the database: track
them down, and you should be done.
 
Top