Home All Groups Group Topic Archive Search About

Error #429 and compactdatabase in VB6

Author
5 Mar 2009 5:25 PM
Vanny
We get this error message: Error 429 - ActiveX component can't create
object -on one of the users machines. According to the error description
message this happens while trying to compact Access database. The machine
runs xp with office 2003. What possible file related to compactdatabase
command that could be missing?

I would really appreciate if some body can throw light on this.

Thanks,

Vanny

Author
5 Mar 2009 7:32 PM
Ralph
"Vanny" <li***@bls.gov> wrote in message
news:gop1uf$jfu$1@blsnews.bls.gov...
> We get this error message: Error 429 - ActiveX component can't create
> object -on one of the users machines. According to the error description
> message this happens while trying to compact Access database. The machine
> runs xp with office 2003. What possible file related to compactdatabase
> command that could be missing?
>
> I would really appreciate if some body can throw light on this.
>

Not enough information.

Is this failing when you attempt to 'new' a JRO object or when you call
'compactdatase'?
Are errors only experienced when attempting to compact a database? ie, Are
all other attempts to communicate with the database from VB successful?
(folder permissions, etc.)
Is this the only machine that is using Office 2003?
(EngineType 5)
Is it the only XP box?
(Install the latest XP service pack or Jet Package)

What does your current CompactDatabase() call look like?
(How can we know what might be missing? lol)

-ralph
Author
12 Mar 2009 2:49 PM
Vanny
Thank you for looking at the problem.  It takes me a while to get the info
from the user.  I have not mentioned that the application has been
installing on the laptop.  According to the error handler that shows the
line of error, it fails when calling the command compactdatabase.  The code
looks like this:

CompactDatabase APP_DIR & "\db1.mdb", APP_DIR & "\db2.mdb"

The laptop has XP service pack2 and DAO 3.6.  The user is the administrator
that has full permission. The same package was installed on 2 other laptops
which have the same image and it works fine.

Thanks in advance for your help

Vanny

Show quoteHide quote
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:O%23wUspcnJHA.500@TK2MSFTNGP06.phx.gbl...
>
> "Vanny" <li***@bls.gov> wrote in message
> news:gop1uf$jfu$1@blsnews.bls.gov...
>> We get this error message: Error 429 - ActiveX component can't create
>> object -on one of the users machines. According to the error description
>> message this happens while trying to compact Access database. The machine
>> runs xp with office 2003. What possible file related to compactdatabase
>> command that could be missing?
>>
>> I would really appreciate if some body can throw light on this.
>>
>
> Not enough information.
>
> Is this failing when you attempt to 'new' a JRO object or when you call
> 'compactdatase'?
> Are errors only experienced when attempting to compact a database? ie, Are
> all other attempts to communicate with the database from VB successful?
> (folder permissions, etc.)
> Is this the only machine that is using Office 2003?
> (EngineType 5)
> Is it the only XP box?
> (Install the latest XP service pack or Jet Package)
>
> What does your current CompactDatabase() call look like?
> (How can we know what might be missing? lol)
>
> -ralph
>
>
>
>
Author
12 Mar 2009 3:13 PM
Dave O.
"Vanny" <li***@bls.gov> wrote in message
news:gpb7e3$99q$1@blsnews.bls.gov...
>
> CompactDatabase APP_DIR & "\db1.mdb", APP_DIR & "\db2.mdb"
>
> Thanks in advance for your help
>
> Vanny

Without much code it's hard to know what's going on but I'd make sure there
is not already an existing "db2.mdb" file.
I doubt if this is the reason unless the program is installed in a root
folder (could be if it's on a USB stick) but it is incredibly bad practice
to hard code the backslash. You should ALWAYS check to see if it's needed
before adding one. If you have already ensured that APP_DIR does not have a
trailing backslash then ignore this.

For example:
Public Function CheckSlash(tPath As String) As String
If Right$(tPath, 1) = "\" Then
  CheckSlash = tPath
Else
  CheckSlash = tPath & "\"
End If
End Function

CompactDatabase CheckSlash(APP_DIR) & "db1.mdb", CheckSlash(APP_DIR) &
"db2.mdb"

Regards
DaveO.
Author
13 Mar 2009 8:09 PM
Vanny
Thanks for the suggestion.  We already checked there is no db2.mdb in the
folder.  The APP_DIR  is just a public constant defined like this:
Public Const APP_DIR = "c:\project1"
We don't think this is a coding problem, but some missing file or corrupted
one related to the compactdatabase.  The same package installed on another
user's laptop which has the same image is working fine.

Vanny

Show quoteHide quote
"Dave O." <nob***@nowhere.com> wrote in message
news:uhlKbUyoJHA.5412@TK2MSFTNGP04.phx.gbl...
>
> "Vanny" <li***@bls.gov> wrote in message
> news:gpb7e3$99q$1@blsnews.bls.gov...
>>
>> CompactDatabase APP_DIR & "\db1.mdb", APP_DIR & "\db2.mdb"
>>
>> Thanks in advance for your help
>>
>> Vanny
>
> Without much code it's hard to know what's going on but I'd make sure
> there is not already an existing "db2.mdb" file.
> I doubt if this is the reason unless the program is installed in a root
> folder (could be if it's on a USB stick) but it is incredibly bad practice
> to hard code the backslash. You should ALWAYS check to see if it's needed
> before adding one. If you have already ensured that APP_DIR does not have
> a trailing backslash then ignore this.
>
> For example:
> Public Function CheckSlash(tPath As String) As String
> If Right$(tPath, 1) = "\" Then
>  CheckSlash = tPath
> Else
>  CheckSlash = tPath & "\"
> End If
> End Function
>
> CompactDatabase CheckSlash(APP_DIR) & "db1.mdb", CheckSlash(APP_DIR) &
> "db2.mdb"
>
> Regards
> DaveO.
>
Author
14 Mar 2009 12:47 AM
Ralph
"Vanny" <li***@bls.gov> wrote in message
news:gpeeh8$ffi$1@blsnews.bls.gov...
> Thanks for the suggestion.  We already checked there is no db2.mdb in the
> folder.  The APP_DIR  is just a public constant defined like this:
> Public Const APP_DIR = "c:\project1"
> We don't think this is a coding problem, but some missing file or
corrupted
> one related to the compactdatabase.  The same package installed on another
> user's laptop which has the same image is working fine.
>
> Vanny
>

Error #429
http://msdn.microsoft.com/en-us/library/aa231060.aspx

As noted in the article just take it by the numbers.
1) Make sure the DAO3x0.dll (DAO350, DAO360, or whatever you are using) is
registered. You can do it manually. For the paranoid; Unregister, run a
RegCleaner then Re-Register.
(This seems to be an occasional issue with Office installs. The conspiracist
among us suggest MS does this deliberately so one is forced to use ACE or
ADO. <g>)
2) Make sure you have only one registered copy of the DAOxxx.dll on the box.
3) If using an o/s lower than Vista/7 go ahead and re-install the
appropriate Jet package for your platform.
Blah, blah, blah

hth
-ralph
Author
18 Mar 2009 3:02 PM
Vanny
Thank you for the advice.  I will forward it to the user.

Show quoteHide quote
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:OwmHG$DpJHA.4372@TK2MSFTNGP02.phx.gbl...
>
> "Vanny" <li***@bls.gov> wrote in message
> news:gpeeh8$ffi$1@blsnews.bls.gov...
>> Thanks for the suggestion.  We already checked there is no db2.mdb in the
>> folder.  The APP_DIR  is just a public constant defined like this:
>> Public Const APP_DIR = "c:\project1"
>> We don't think this is a coding problem, but some missing file or
> corrupted
>> one related to the compactdatabase.  The same package installed on
>> another
>> user's laptop which has the same image is working fine.
>>
>> Vanny
>>
>
> Error #429
> http://msdn.microsoft.com/en-us/library/aa231060.aspx
>
> As noted in the article just take it by the numbers.
> 1) Make sure the DAO3x0.dll (DAO350, DAO360, or whatever you are using) is
> registered. You can do it manually. For the paranoid; Unregister, run a
> RegCleaner then Re-Register.
> (This seems to be an occasional issue with Office installs. The
> conspiracist
> among us suggest MS does this deliberately so one is forced to use ACE or
> ADO. <g>)
> 2) Make sure you have only one registered copy of the DAOxxx.dll on the
> box.
> 3) If using an o/s lower than Vista/7 go ahead and re-install the
> appropriate Jet package for your platform.
> Blah, blah, blah
>
> hth
> -ralph
>
>
>
Author
18 Mar 2009 3:59 PM
Ralph
"Vanny" <li***@bls.gov> wrote in message
news:gpr2dn$f5s$1@blsnews.bls.gov...
> Thank you for the advice.  I will forward it to the user.
>

If so, please remove the ...

> > (This seems to be an occasional issue with Office installs. The
> > conspiracist
> > among us suggest MS does this deliberately so one is forced to use ACE
or
> > ADO. <g>)

It seemed funny at the time, but isn't very informative. lol

-ralph