Re: JET DAO access to Access 97 from VB4 in XP SP2
- From: Edward <Edward@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 9 May 2005 09:46:05 -0700
The resolution seems to have been to change my remote automation program to
use DAO 3.6 instead of 3.0. It seems to be working correctly at the moment
but, naturally, more testing is due!
"Edward" wrote:
> Ok, I started a brand new project, added ONE button to the project, and added
> this code in the button:
>
> Dim db As Database
> Dim rs As Recordset
>
> Set db = OpenDatabase("c:\Program Files\Transcraft Quotes\Trailers.mdb",
> False, False)
> Set rs = db.OpenRecordset("Detail", dbOpenDynaset)
> rs.MoveFirst
>
> While Not rs.EOF
> Form1.Print rs("Num"), rs("Desc")
> rs.MoveNext
> Wend
>
> rs.Close
> db.Close
>
>
> Running the above the the "bad" machine showed all of the information from
> the database. For our programs we have a OLEServer that we use for data
> access that has all of the database open/close/read/write routines built in.
> This is also used with Remote Automation to allow a plant connected via a 56k
> connection to get reasonable connection speeds to the database.
>
> On one XP SP2 machine here we've noticed that it works *IF* connected
> remotely but NOT when running locally. Based on the above, though, it appears
> to NOT be failing because of inability to open a database. Something is
> happening differently between SP1 and SP2 related to the usage of that tool.
>
>
> "Edward" wrote:
>
> > I ran it inside the "Application Verifier" and the log showed two flags:
> >
> > Yellow Exclamation: Called an obsolete API - (DAO3032.dll;00004EA9) API:
> > RegQueryValueA
> >
> > Red X: Wrote to a non-Current User Registry key
> > ((n/a);(n/a)) SetValue: Write to non-HKCU registry entry ''.(4x)
> >
> > In this particular program, I have typically use the HKLM registry location.
> > For my program, this is minor and could be changed to HKCU.
> >
> >
> > The actual error being returned is:
> > Object Variable or With Block Variable not set
> >
> > I will dig deeper to see if the error is occurring BEFORE that error is
> > generated.
> >
> >
> > As I said before, the exact same installation works fine on XP SP1, XP,
> > Win2K (as far as I know, any SP), Win98, Win NT4. There's something different
> > happening in XP SP2.
> >
> >
> >
> > "Paul Clement" wrote:
> >
> > > On Thu, 5 May 2005 13:08:08 -0700, Edward <Edward@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > ¤ I have an application written in VB4 that uses an Acces 97 database. This
> > > ¤ application has been widely used beginning on Win95 and NT4 through Win98,
> > > ¤ WinME, Win2K, and WinXP. The first problems reported on this program was
> > > ¤ when someone installed it on a machine with WinXP SP2. The program will not
> > > ¤ run on *some* machines with SP2 installed but runs fine on others.
> > > ¤
> > > ¤ In-house I installed WinXP SP1 on a test machine and installed the program.
> > > ¤ It ran fine. I then installed the SP2 update and the program continued to
> > > ¤ run fine. We just received a machine that came with XP SP2 already
> > > ¤ installed and it will NOT run on this machine. It gets to the command to
> > > ¤ open the database and then exits because the database could not be opened.
> > > ¤
> > > ¤ I wrote a quickie program in C# .NET just to test the file and it will open
> > > ¤ the file, open a table, display two fields from every record in the
> > > ¤ database, and then close the file.
> > > ¤
> > > ¤ Given the massive number of VB4 programs we have, it would not be feasible
> > > ¤ to update them all immediately to something suce as C#. But we can't update
> > > ¤ our in-house machines (which would come with XP SP2) if our programs won't
> > > ¤ run on them.
> > > ¤
> > > ¤ Files installed by the app:
> > > ¤ vb40032.dll
> > > ¤ msjt3032.dll
> > > ¤ msjter32.dll
> > > ¤ msjint32.dll
> > > ¤ vbajet32.dll
> > > ¤ vbdb32.dll
> > > ¤ mswng300.dll
> > > ¤ vbar2232.dll
> > > ¤ ven2232.olb
> > > ¤
> > > ¤ Additional files copied to the test machine:
> > > ¤ msrd2x32.dll
> > > ¤ msrd2x35.dll
> > > ¤ msjter35.dll
> > > ¤ msjint35.dll
> > > ¤ vbar332.dll
> > > ¤ vbdb300.dll
> > > ¤
> > > ¤ Also ran the JET35SP3.EXE update program. But at this point the program
> > > ¤ still will not open the database. Any suggestions what changed in XP SP2
> > > ¤ that prevents it from opening the database?
> > >
> > > What is the error you are getting? I'm guessing you're probably using a previous version of the Jet
> > > database engine that is not installed on the machine.
> > >
> > >
> > > Paul
> > > ~~~~
> > > Microsoft MVP (Visual Basic)
> > >
.
- Follow-Ups:
- Re: JET DAO access to Access 97 from VB4 in XP SP2
- From: Douglas J. Steele
- Re: JET DAO access to Access 97 from VB4 in XP SP2
- References:
- JET DAO access to Access 97 from VB4 in XP SP2
- From: Edward
- Re: JET DAO access to Access 97 from VB4 in XP SP2
- From: Paul Clement
- Re: JET DAO access to Access 97 from VB4 in XP SP2
- From: Edward
- Re: JET DAO access to Access 97 from VB4 in XP SP2
- From: Edward
- JET DAO access to Access 97 from VB4 in XP SP2
- Prev by Date: Re: Novice needs help - solution questions
- Next by Date: Re: JET DAO access to Access 97 from VB4 in XP SP2
- Previous by thread: Re: JET DAO access to Access 97 from VB4 in XP SP2
- Next by thread: Re: JET DAO access to Access 97 from VB4 in XP SP2
- Index(es):