Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VB4: Error 3024 "File not found" - WHY?

16 views
Skip to first unread message

***

unread,
Jun 9, 1997, 3:00:00 AM6/9/97
to

When executing a "compiled" VB4a-program under Win95, which opens several
database-objects in the same Access2-database called A.MDB at the same
time, at a
certain situation always runtime error 3024 "File A.MDB not found" rises,
even with "Files=255". But running the program in the IDE works fine. Any
ideas why?

Heiko Lanz


Charles A. Bounds

unread,
Jun 9, 1997, 3:00:00 AM6/9/97
to

Hey, me too!!! I just started reading this group specifically to find
this one. My customer gets 3024 and 3051 (and a smattering of others)
frequently. Interestingly, these sometimes occur doing a find on a
dynaset type recordset which is DEFINATELY open.

I am using Win 3.1 and developing a 16bit app with VB4 and Access 2.0.
My customer is running it under windows 95. The database itself is on
the network (served by an NT machine i think). This is the only
updater. In fact there is only one instance of the updater running.
There can be several instances of a retrieval app running.

I can't duplicate the problem on my machine with either compiled code or
in the dev. environment.

Any help will be appreciated.

In <01bc74d1$57228c00$2102...@funnel32.btx.dtag.de> "***" <a...@b.com>
wrote:

Robby Lann

unread,
Jun 9, 1997, 3:00:00 AM6/9/97
to

Did you check to see if all the DLL's can be found by the EXE program?
FILE NOT FOUND and MISSING DLL are the same in VB! <G>


Heiko Lanz

unread,
Jun 10, 1997, 3:00:00 AM6/10/97
to

Charles A. Bounds <cbo...@notes.cc.bellcore.com> Wrote in
<339c1b1d...@msnews.microsoft.com>...

> Hey, me too!!! I just started reading this group specifically to find
> this one. My customer gets 3024 and 3051 (and a smattering of others)
> frequently. Interestingly, these sometimes occur doing a find on a
> dynaset type recordset which is DEFINATELY open.

Did you check/use "DBEngine.Idle dbFreeLocks"?

I have some thoughts about strange behaviours like that and the one below.
Microsoft says, that in a multiuser-environment after EVERY Update and EVEN
SEARCH-OPERATIONS (MoveFirst, MoveNext, FindFirst, ...) you should use
"DBEngine.Idle dbFreeLocks" due to parallel-processing-behaviour of the
operation system (especially Win95/WinNT), because the Access-engine
sometimes keeps the record(s) locked (although you don't use them any more)
because of "heavy load". But the problem I described below is always the
same at the same point without accessing the records by more than one user
(or instance/procedure). I suppose it has something to do with an overflow
of an internal list/memory area or something (all the necessary DLLs are in
the search path, otherwise in the other program situations the same
operation would cause the same error - or not?)

> I am using Win 3.1 and developing a 16bit app with VB4 and Access 2.0.
> My customer is running it under windows 95. The database itself is on
> the network (served by an NT machine i think). This is the only

I have met another strange thing is this context: If the .MDB is on an
WinNT 3.51-Server (SP5) (on two different networks: one is a 10 MBit- and
the other a 100 MBit-network), there are sometimes situations, where the
program tries to update a record, but gets no answer from the server any
more and stops after some seconds (about 15), rasing a runtime error "...
used by user ... on machine ..." or a related error. But there is no one
else using this record (or any around it by page locking) or even the
database. And ALL operations on the database before were followd by
"DBEngine.Idle dbFreeLocks". And the server at this point has almost
NOTHING to do (P166, 64 MB etc.). I'm already feeling so insecure that I
suspect that the mainboard causes that behaviour (ASUS P55T2P4), because in
those two networks only this mainboard is the same component, all other
components are different from each other (network adaptors etc.).
Microsoft suggests some settings in the server-registry in cases where
DB-Files are sometimes corrupted or access is suddenly denied (due to
cache-affairs etc.); but they are already set (and cannot be the problem
because the server has almost nothing to do).

> In <01bc74d1$57228c00$2102...@funnel32.btx.dtag.de> "Heiko Lanz"


> wrote:
>
> >When executing a "compiled" VB4a-program under Win95, which opens
several
> >database-objects in the same Access2-database called A.MDB at the same

btw: The database is accessed by its full path (e.g. C:\DATABASE\A.MDB) of
course.

Mark Orsted

unread,
Jun 10, 1997, 3:00:00 AM6/10/97
to

Make sure you are naming the path of the MDB correctly. The IDE defaults
to the path of the .vbp/.mak file if you don't specifically state where the
mdb is (i.e. c:\apppath\*.mdb) is the default. If the mdb is in the project
directory and you want to keep it there for testing, while putting a live
one elsewhere, make sure to copy the *.mdb file to the app directory, or to
give a fully qualified path


Charles A. Bounds

unread,
Jun 11, 1997, 3:00:00 AM6/11/97
to

>Did you check/use "DBEngine.Idle dbFreeLocks"?
>
>I have some thoughts about strange behaviours like that and the one below.
>Microsoft says, that in a multiuser-environment after EVERY Update and EVEN
>SEARCH-OPERATIONS (MoveFirst, MoveNext, FindFirst, ...) you should use
>"DBEngine.Idle dbFreeLocks"

<snip>

You may have a winner here. I only just checked out DBengine.Idle
dbFreeLocks. There were NONE in the program at all. I will be generous
with them and see what happens.

Thank you very much.
------
Charlie Bounds (cbo...@notes.cc.bellcore.com)

Charles A. Bounds

unread,
Jun 11, 1997, 3:00:00 AM6/11/97
to

In <01bc5cb4$e8e9b3f0$2fb1c6d0@robbyl> "Robby Lann"
<rob...@optexusa.com> wrote:

>Did you check to see if all the DLL's can be found by the EXE program?
>FILE NOT FOUND and MISSING DLL are the same in VB! <G>
>

So I have discovered! However, not in this case. The app runs for an
hour or more sometimes before crapping out. (it refreshes the database
and is timer driven). When it does die it can be in any data access
statement. Someone else asked how often I do a DBengine.Idle and the
answer is NEVER. So that is what I will try next.
------
Charlie Bounds (cbo...@notes.cc.bellcore.com)

Joseph Farr

unread,
Jun 21, 1997, 3:00:00 AM6/21/97
to

I have had exactly the same thing.
The cure:

From a DOS prompt type 'SET'.
There are usually two variables 'TMP' and 'TEMP'. The directories that
these point
two MUST exist.
The JET engine creates some temporary files when it starts up and can't
find anywhere to put them.

We noticed this when in pure despiration, we installed Access 2.0 on the
target machine.
It give a much more friendly error.

Joe.

*** <a...@b.com> wrote in article
<01bc74d1$57228c00$2102...@funnel32.btx.dtag.de>...


> When executing a "compiled" VB4a-program under Win95, which opens several
> database-objects in the same Access2-database called A.MDB at the same

> time, at a
> certain situation always runtime error 3024 "File A.MDB not found" rises,
> even with "Files=255". But running the program in the IDE works fine. Any
> ideas why?
>

> Heiko Lanz
>
>

0 new messages