473,326 Members | 2,081 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,326 software developers and data experts.

Jet 4.0 to Access 2.0 help needed

O

I need to do some lookups and updates on some legacy Access 2.0 files
(they've from another vendor and I'm not in a position to update them).
I was successful using VB6, but I've moved on to VS 2005 and ADO and
having some serious problems.

Here's the scenario:

2 people have the same Access 2.0 databases running in the Access 2.0
application.

I open the database using JET 4.0 OLEDB and specifying Data Engine Type
1.0 (also tried 2.0). conn.open() (Note: This will even happen if I
specify Mode=READ)

I close the database in VB. (don't lookup, don't update, don't do
anything.) conn.close() (note: works the same if I also dispose the
connection).

The .ldb file is now locked up in what looks like a "DELETE PEND." The
people running the Access 2.0 application can still work, but they
can't quit and restart until everyone quits and the .ldb file gets
deleted. In VB, I can't reopen the connection again. I can't even
open a stream into the file. Basically, no new file access to that
..ldb file once I close the connection.

Is there any other setup commands I need to use to properly
simultaneously use ADO and VB on legacy Access 2.0 files? Or any other
solution? I've spent about a week on this one! I'm at the point of
rewriting the same code using VB6.

Thanks for any help.

-Owen
Aug 28 '08 #1
9 2405
On Aug 28, 12:14*pm, O <ow...@denofinequityx.comwrote:
I need to do some lookups and updates on some legacy Access 2.0 files
(they've from another vendor and I'm not in a position to update them).
I was successful using VB6, but I've moved on to VS 2005 and ADO and
having some serious problems.

Here's the scenario:

2 people have the same Access 2.0 databases running in the Access 2.0
application.

I open the database using JET 4.0 OLEDB and specifying Data Engine Type
1.0 (also tried 2.0). *conn.open() *(Note: This will even happen if I
specify Mode=READ)

I close the database in VB. (don't lookup, don't update, don't do
anything.) *conn.close() *(note: works the same if I also dispose the
connection).

The .ldb file is now locked up in what looks like a "DELETE PEND." The
people running the Access 2.0 application can still work, but they
can't quit and restart until everyone quits and the .ldb file gets
deleted. *In VB, I can't reopen the connection again. *I can't even
open a stream into the file. *Basically, no new file access to that
.ldb file once I close the connection.

Is there any other setup commands I need to use to properly
simultaneously use ADO and VB on legacy Access 2.0 files? *Or any other
solution? *I've spent about a week on this one! *I'm at the point of
rewriting the same code using VB6.

Thanks for any help.

-Owen
What is the code you're using to connect? What is the connection
string you're using?

As an aside, I wonder what would happen if you created an empty Access
2000 format database and used it to link to the tables in your Access
2.0 database and then used your .net app to connect to the Access 2000
database. In other words, let the Access 2000 database act as a
'wrapper' for the Access 2.0 database. This might allow Access to
handle the locking and translation and the Jet 4.0 OLEDB might handle
the 2000 format better. Might be worth a try.

Bruce
Aug 29 '08 #2
O
In article
<27**********************************@j22g2000hsf. googlegroups.com>,
Bruce <de***************@gmail.comwrote:
On Aug 28, 12:14*pm, O <ow...@denofinequityx.comwrote:
I need to do some lookups and updates on some legacy Access 2.0 files
(they've from another vendor and I'm not in a position to update them).
I was successful using VB6, but I've moved on to VS 2005 and ADO and
having some serious problems.

Here's the scenario:

2 people have the same Access 2.0 databases running in the Access 2.0
application.

I open the database using JET 4.0 OLEDB and specifying Data Engine Type
1.0 (also tried 2.0). *conn.open() *(Note: This will even happen if I
specify Mode=READ)

I close the database in VB. (don't lookup, don't update, don't do
anything.) *conn.close() *(note: works the same if I also dispose the
connection).

The .ldb file is now locked up in what looks like a "DELETE PEND." The
people running the Access 2.0 application can still work, but they
can't quit and restart until everyone quits and the .ldb file gets
deleted. *In VB, I can't reopen the connection again. *I can't even
open a stream into the file. *Basically, no new file access to that
.ldb file once I close the connection.

Is there any other setup commands I need to use to properly
simultaneously use ADO and VB on legacy Access 2.0 files? *Or any other
solution? *I've spent about a week on this one! *I'm at the point of
rewriting the same code using VB6.

Thanks for any help.

-Owen

What is the code you're using to connect? What is the connection
string you're using?
Here's the code - it's in VB2005:

dim conn as OleDBConnection

conn = New OleDBConnection("provider=Microsoft.Jet.OLEDB.4.0; Data
Source=p:\public\tax\taxdata.mdb;JET OLEDB:Engine Type=2")

conn.Open()
conn.Close()

The failure happens on close. (The close also happens on program
termination, I've tried leaving it open.) OLEDB issues a Delete to the
..ldb file, even though there are two other Microsoft Access 2.0 users
with the file open. It's like OLEDB doesn't see the other users, even
though they're clearly listed in the .ldb file.
>
As an aside, I wonder what would happen if you created an empty Access
2000 format database and used it to link to the tables in your Access
2.0 database and then used your .net app to connect to the Access 2000
database. In other words, let the Access 2000 database act as a
'wrapper' for the Access 2.0 database. This might allow Access to
handle the locking and translation and the Jet 4.0 OLEDB might handle
the 2000 format better. Might be worth a try.
You know, I was just thinking of a solution like this. I'll check it
out.

-Owen
Aug 29 '08 #3
O <ow***@denofinequityx.comwrote in
news:28**********************@denofinequityx.com:
I need to do some lookups and updates on some legacy Access 2.0
files (they've from another vendor and I'm not in a position to
update them). I was successful using VB6, but I've moved on to VS
2005 and ADO and having some serious problems.
Why in the world are you using ADO? Why not use Jet's native
interface, DAO?

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Aug 29 '08 #4
O
In article <Xn**********************************@64.209.0.89> , David W.
Fenton <XX*******@dfenton.com.invalidwrote:
O <ow***@denofinequityx.comwrote in
news:28**********************@denofinequityx.com:
I need to do some lookups and updates on some legacy Access 2.0
files (they've from another vendor and I'm not in a position to
update them). I was successful using VB6, but I've moved on to VS
2005 and ADO and having some serious problems.

Why in the world are you using ADO? Why not use Jet's native
interface, DAO?
Am I mistaken in that DAO is no longer available in VS 2005 and VB.NET?

-Owen
Aug 30 '08 #5
O <ow***@denofinequityx.comwrote in
news:30**********************@denofinequityx.com:
In article <Xn**********************************@64.209.0.89> ,
David W. Fenton <XX*******@dfenton.com.invalidwrote:
>O <ow***@denofinequityx.comwrote in
news:28**********************@denofinequityx.co m:
I need to do some lookups and updates on some legacy Access 2.0
files (they've from another vendor and I'm not in a position to
update them). I was successful using VB6, but I've moved on to
VS 2005 and ADO and having some serious problems.

Why in the world are you using ADO? Why not use Jet's native
interface, DAO?

Am I mistaken in that DAO is no longer available in VS 2005 and
VB.NET?
DAO is installed on every version of Windows that I know about. It's
a COM component, so if you can use COM components in those
development environments, you can use DAO.

--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
Aug 30 '08 #6
On Aug 29, 11:29*am, O <ow...@denofinequityx.comwrote:
In article
<27481030-3d87-4d63-a781-a4f227c77...@j22g2000hsf.googlegroups.com>,

Bruce <deluxeinformat...@gmail.comwrote:
On Aug 28, 12:14*pm, O <ow...@denofinequityx.comwrote:
I need to do some lookups and updates on some legacy Access 2.0 files
(they've from another vendor and I'm not in a position to update them).
I was successful using VB6, but I've moved on to VS 2005 and ADO and
having some serious problems.
Here's the scenario:
2 people have the same Access 2.0 databases running in the Access 2.0
application.
I open the database using JET 4.0 OLEDB and specifying Data Engine Type
1.0 (also tried 2.0). *conn.open() *(Note: This will even happen if I
specify Mode=READ)
I close the database in VB. (don't lookup, don't update, don't do
anything.) *conn.close() *(note: works the same if I also disposethe
connection).
The .ldb file is now locked up in what looks like a "DELETE PEND." The
people running the Access 2.0 application can still work, but they
can't quit and restart until everyone quits and the .ldb file gets
deleted. *In VB, I can't reopen the connection again. *I can't even
open a stream into the file. *Basically, no new file access to that
.ldb file once I close the connection.
Is there any other setup commands I need to use to properly
simultaneously use ADO and VB on legacy Access 2.0 files? *Or any other
solution? *I've spent about a week on this one! *I'm at the pointof
rewriting the same code using VB6.
Thanks for any help.
-Owen
What is the code you're using to connect? *What is the connection
string you're using?

Here's the code - it's in VB2005:

dim conn as OleDBConnection

conn = New OleDBConnection("provider=Microsoft.Jet.OLEDB.4.0; Data
Source=p:\public\tax\taxdata.mdb;JET OLEDB:Engine Type=2")

conn.Open()
conn.Close()

The failure happens on close. *(The close also happens on program
termination, I've tried leaving it open.) OLEDB issues a Delete to the
.ldb file, even though there are two other Microsoft Access 2.0 users
with the file open. *It's like OLEDB doesn't see the other users, even
though they're clearly listed in the .ldb file. *
As an aside, I wonder what would happen if you created an empty Access
2000 format database and used it to link to the tables in your Access
2.0 database and then used your .net app to connect to the Access 2000
database. *In other words, let the Access 2000 database act as a
'wrapper' for the Access 2.0 database. *This might allow Access to
handle the locking and translation and the Jet 4.0 OLEDB might handle
the 2000 format better. *Might be worth a try.

You know, I was just thinking of a solution like this. *I'll check it
out.

-Owen
I think you need to use Engine Type = 3 for Jet 2.0 (which is what
shipped with Access 2.0). If I recall correctly, type 1 = Jet 1.0,
type 2 = Jet 1.1, etc. This might be worth a try as well.

Bruce
Sep 2 '08 #7
O
In article
<5d**********************************@p25g2000hsf. googlegroups.com>,
Bruce <de***************@gmail.comwrote:
On Aug 29, 11:29*am, O <ow...@denofinequityx.comwrote:
In article
<27481030-3d87-4d63-a781-a4f227c77...@j22g2000hsf.googlegroups.com>,

Bruce <deluxeinformat...@gmail.comwrote:
On Aug 28, 12:14*pm, O <ow...@denofinequityx.comwrote:
I need to do some lookups and updates on some legacy Access 2.0 files
(they've from another vendor and I'm not in a position to update them).
I was successful using VB6, but I've moved on to VS 2005 and ADO and
having some serious problems.
Here's the scenario:
2 people have the same Access 2.0 databases running in the Access 2.0
application.
I open the database using JET 4.0 OLEDB and specifying Data Engine Type
1.0 (also tried 2.0). *conn.open() *(Note: This will even happen if I
specify Mode=READ)
I close the database in VB. (don't lookup, don't update, don't do
anything.) *conn.close() *(note: works the same if I also dispose the
connection).
The .ldb file is now locked up in what looks like a "DELETE PEND." The
people running the Access 2.0 application can still work, but they
can't quit and restart until everyone quits and the .ldb file gets
deleted. *In VB, I can't reopen the connection again. *I can't even
open a stream into the file. *Basically, no new file access to that
.ldb file once I close the connection.
Is there any other setup commands I need to use to properly
simultaneously use ADO and VB on legacy Access 2.0 files? *Or any other
solution? *I've spent about a week on this one! *I'm at the point of
rewriting the same code using VB6.
Thanks for any help.
-Owen
What is the code you're using to connect? *What is the connection
string you're using?
Here's the code - it's in VB2005:

dim conn as OleDBConnection

conn = New OleDBConnection("provider=Microsoft.Jet.OLEDB.4.0; Data
Source=p:\public\tax\taxdata.mdb;JET OLEDB:Engine Type=2")

conn.Open()
conn.Close()

The failure happens on close. *(The close also happens on program
termination, I've tried leaving it open.) OLEDB issues a Delete to the
.ldb file, even though there are two other Microsoft Access 2.0 users
with the file open. *It's like OLEDB doesn't see the other users, even
though they're clearly listed in the .ldb file. *
As an aside, I wonder what would happen if you created an empty Access
2000 format database and used it to link to the tables in your Access
2.0 database and then used your .net app to connect to the Access 2000
database. *In other words, let the Access 2000 database act as a
'wrapper' for the Access 2.0 database. *This might allow Access to
handle the locking and translation and the Jet 4.0 OLEDB might handle
the 2000 format better. *Might be worth a try.
You know, I was just thinking of a solution like this. *I'll check it
out.

-Owen

I think you need to use Engine Type = 3 for Jet 2.0 (which is what
shipped with Access 2.0). If I recall correctly, type 1 = Jet 1.0,
type 2 = Jet 1.1, etc. This might be worth a try as well.
I tried all the engine types. From what I can see, the main difference
is that engine types 3 will cause JET to rewrite the .ldb file as
double byte.

What happens, and my immediate problem, regardless of Engine type, is
that when the connection is closed, or the application is shut down
without closing, JET sends a delete message to the .ldb file, ignoring
that there are Access 2.0 clients connected to it. The file doesn't
get deleted, because the other clients are holding it open, but there's
a "DELETE PENDING" on the file, which prevents new clients, of any
type, from opening it, until all clients close it. Then it gets
deleted and you can restart from anywhere.

-Owen
Sep 2 '08 #8
On Sep 2, 11:23*am, O <ow...@denofinequityx.comwrote:
In article
<5dbab07d-23ef-49cc-8e4e-e9d41202d...@p25g2000hsf.googlegroups.com>,

Bruce <deluxeinformat...@gmail.comwrote:
On Aug 29, 11:29*am, O <ow...@denofinequityx.comwrote:
In article
<27481030-3d87-4d63-a781-a4f227c77...@j22g2000hsf.googlegroups.com>,
Bruce <deluxeinformat...@gmail.comwrote:
On Aug 28, 12:14*pm, O <ow...@denofinequityx.comwrote:
I need to do some lookups and updates on some legacy Access 2.0 files
(they've from another vendor and I'm not in a position to update them).
I was successful using VB6, but I've moved on to VS 2005 and ADO and
having some serious problems.
Here's the scenario:
2 people have the same Access 2.0 databases running in the Access2.0
application.
I open the database using JET 4.0 OLEDB and specifying Data Engine Type
1.0 (also tried 2.0). *conn.open() *(Note: This will even happen if I
specify Mode=READ)
I close the database in VB. (don't lookup, don't update, don't do
anything.) *conn.close() *(note: works the same if I also dispose the
connection).
The .ldb file is now locked up in what looks like a "DELETE PEND." The
people running the Access 2.0 application can still work, but they
can't quit and restart until everyone quits and the .ldb file gets
deleted. *In VB, I can't reopen the connection again. *I can't even
open a stream into the file. *Basically, no new file access to that
.ldb file once I close the connection.
Is there any other setup commands I need to use to properly
simultaneously use ADO and VB on legacy Access 2.0 files? *Or any other
solution? *I've spent about a week on this one! *I'm at the point of
rewriting the same code using VB6.
Thanks for any help.
-Owen
What is the code you're using to connect? *What is the connection
string you're using?
Here's the code - it's in VB2005:
dim conn as OleDBConnection
conn = New OleDBConnection("provider=Microsoft.Jet.OLEDB.4.0; Data
Source=p:\public\tax\taxdata.mdb;JET OLEDB:Engine Type=2")
conn.Open()
conn.Close()
The failure happens on close. *(The close also happens on program
termination, I've tried leaving it open.) OLEDB issues a Delete to the
.ldb file, even though there are two other Microsoft Access 2.0 users
with the file open. *It's like OLEDB doesn't see the other users, even
though they're clearly listed in the .ldb file. *
As an aside, I wonder what would happen if you created an empty Access
2000 format database and used it to link to the tables in your Access
2.0 database and then used your .net app to connect to the Access 2000
database. *In other words, let the Access 2000 database act as a
'wrapper' for the Access 2.0 database. *This might allow Access to
handle the locking and translation and the Jet 4.0 OLEDB might handle
the 2000 format better. *Might be worth a try.
You know, I was just thinking of a solution like this. *I'll check it
out.
-Owen
I think you need to use Engine Type = 3 for Jet 2.0 (which is what
shipped with Access 2.0). *If I recall correctly, type 1 = Jet 1.0,
type 2 = Jet 1.1, etc. *This might be worth a try as well.

I tried all the engine types. *From what I can see, the main difference
is that engine types 3 will cause JET to rewrite the .ldb file as
double byte.

What happens, and my immediate problem, regardless of Engine type, is
that when the connection is closed, *or the application is shut down
without closing, JET sends a delete message to the .ldb file, ignoring
that there are Access 2.0 clients connected to it. *The file doesn't
get deleted, because the other clients are holding it open, but there's
a "DELETE PENDING" on the file, which prevents new clients, of any
type, from opening it, until all clients close it. *Then it gets
deleted and you can restart from anywhere.

-Owen
I'm not sure what else to suggest here. David's idea posted earlier
to use DAO will probably be more efficient and may eliminate your lock
problems. If you do find a solution please let us know what you ended
up with.

Bruce
Sep 4 '08 #9
O
In article
<1b**********************************@i20g2000prf. googlegroups.com>,
Bruce <de***************@gmail.comwrote:

I tried all the engine types. *From what I can see, the main difference
is that engine types 3 will cause JET to rewrite the .ldb file as
double byte.

What happens, and my immediate problem, regardless of Engine type, is
that when the connection is closed, *or the application is shut down
without closing, JET sends a delete message to the .ldb file, ignoring
that there are Access 2.0 clients connected to it. *The file doesn't
get deleted, because the other clients are holding it open, but there's
a "DELETE PENDING" on the file, which prevents new clients, of any
type, from opening it, until all clients close it. *Then it gets
deleted and you can restart from anywhere.

-Owen

I'm not sure what else to suggest here. David's idea posted earlier
to use DAO will probably be more efficient and may eliminate your lock
problems. If you do find a solution please let us know what you ended
up with.
To me, it's obviously a bug in MS's latest JET OLEDB (and probably
OBDC) drivers.

Here's my current workaround:

Use VB6 to build DAO driven dll that talks to the Access 2.0 database.
Call the dll from VB.NET.

The likelihood of MS bothering to go back and fix a bug affecting early
Access JET OLEDB users is probably minimal, so the dll intermediary
workaround is going in.

-Owen
Sep 4 '08 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: WalterR | last post by:
This is my first time here, so there may be earlier relevant threads of which I am unaware. Though my experience with DB2 is not extensive, such as it is was under OS/390 or equ. My main...
9
by: MacDermott | last post by:
I have an Access MDB which instantiates a class in a custom DLL, manipulates it for a while, then sets it equal nothing. The MDB does other things,too, and generally behaves itself as desired....
1
by: Andrew Arace | last post by:
I scoured the groups for some hands on code to perform the menial task of exporting table data from an Access 2000 database to Oracle database (in this case, it was oracle 8i but i'm assuming this...
49
by: Yannick Turgeon | last post by:
Hello, We are in the process of examining our current main application. We have to do some major changes and, in the process, are questionning/validating the use of MS Access as front-end. The...
7
by: dog | last post by:
I've seen plenty of articles on this topic but none of them have been able to solve my problem. I am working with an Access 97 database on an NT4.0 machine, which has many Access reports. I...
11
by: Grasshopper | last post by:
Hi, I am automating Access reports to PDF using PDF Writer 6.0. I've created a DTS package to run the reports and schedule a job to run this DTS package. If I PC Anywhere into the server on...
62
by: Ecohouse | last post by:
I was just wondering if there was any way to use a toolbar in Outlook 2002 in Access 2002? I want to create a custom toolbar in Access similar to the Calendar toolbar in Outlook. Any ideas?
15
by: Cheryl Langdon | last post by:
Hello everyone, This is my first attempt at getting help in this manner. Please forgive me if this is an inappropriate request. I suddenly find myself in urgent need of instruction on how to...
16
by: Neil | last post by:
I posted a few days ago that it seems to me that the Access 2007 rich text feature does not support: a) full text justification; b) programmatic manipulation. I was hoping that someone might...
10
by: Les Desser | last post by:
In article <fcebdacd-2bd8-4d07-93a8-8b69d3452f3e@s50g2000hsb.googlegroups.com>, The Frog <Mr.Frog.to.you@googlemail.comMon, 14 Apr 2008 00:45:10 writes Thank you for that. It was very...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.