Re: JET DAO access to Access 97 from VB4 in XP SP2



DAO 3.5x should be sufficient for Access 97.

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)



"Edward" <Edward@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:8D20FC5B-5AE9-4D29-98F7-BB8C59A6EEF1@xxxxxxxxxxxxxxxx
> 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)
>> > >


.