• VB program – Error 3211 (VB6)

    Author
    Topic
    #410556

    My VB 6 application is a stand-alone program and is running fine in a Windows 98 and Windows XP environment. However, when the program was run in a Windows Me computer yesterday, I obtained the dreadful error message:

    “Run-time error ‘3211’; The database engine could not lock table ‘Items’ becuase it is already in use by another person or process”.

    The Windows Me computer wasn’t networked and it was started from a cold boot. Re-installing he program didn’t help.

    The error occurred at the line when a dBase III file was loaded (linked) in a MS Access database. Apparently the dBase III file couldn’t be accessed though it was there and no one was accessing it.

    I was told the computer has millennium problem and was attacked by virus before.

    I suspect the problem is related to the Windows Me system or the virus. Can anyone help?

    Viewing 1 reply thread
    Author
    Replies
    • #883191

      There are issues with using DBase files in older versions of the Jet 4.0 database engine (assuming that the PC has Access 2000 or later; Access 97 uses Jet 3.5). The recommended solution is to install the latest Jet service pack.

      See How to obtain the latest service pack for the Microsoft Jet 4.0 Database Engine.

      • #883256

        I know there are incompatiblity problems (though I can’t recall their details) between versions of DAO. My Installshield Windows Installer will install the newer version (BTW, it is version 4.0) in the machine if its DAO is found to be of an earlier version. Surely a Windows Me would have a newer version (?) of DAO than Windows 98, assuming my installer didn’t install DAO 4.0. My program works well with Windows 98. Personally I think version of DAO wasn’t the cause here. Anyway I will check with the DAO version in the Windows Me machine just to satisfy myself that DAO version 4.0 was installed there.

        Thanks for your response, Hans.

        • #883269

          The question is not so much whether Jet 4.0 has been installed, but whether a recent service pack of Jet 4.0 has been installed. There were problems with accessing DBase files in the early versions of Jet 4.0 on PC’s that did not have the Borland Database Engine; this has been corrected in Jet 4.0 SP5 and later. The MSKB article I referred to explains how to determine the currently installed service pack level.

          • #883753

            I checked with the client’s computer with Windows Me, and sure enough the MSJET40.dll was of SP3. I checked my Installshield setup, and discovered that the Microsoft Jet Database Engine 4.0 (which will install version SP6 if the base computer has an older version) was inexplicably left out in the installation package. I include the Microsoft Jet Database Engine 4.0 SP6 again in the installation package, re-install my program, and everything works fine. I am wrong with my earlier assertation that the Jet Database Engine version wasn’t the culprit.

            Thanks to HansV and Charlotte for helping me solve the problem.

          • #883754

            I checked with the client’s computer with Windows Me, and sure enough the MSJET40.dll was of SP3. I checked my Installshield setup, and discovered that the Microsoft Jet Database Engine 4.0 (which will install version SP6 if the base computer has an older version) was inexplicably left out in the installation package. I include the Microsoft Jet Database Engine 4.0 SP6 again in the installation package, re-install my program, and everything works fine. I am wrong with my earlier assertation that the Jet Database Engine version wasn’t the culprit.

            Thanks to HansV and Charlotte for helping me solve the problem.

        • #883270

          The question is not so much whether Jet 4.0 has been installed, but whether a recent service pack of Jet 4.0 has been installed. There were problems with accessing DBase files in the early versions of Jet 4.0 on PC’s that did not have the Borland Database Engine; this has been corrected in Jet 4.0 SP5 and later. The MSKB article I referred to explains how to determine the currently installed service pack level.

        • #883324

          The latest versio nof DAO is 3.6. Hans is talking about the Jet engine, not the DAO library.

        • #883325

          The latest versio nof DAO is 3.6. Hans is talking about the Jet engine, not the DAO library.

      • #883257

        I know there are incompatiblity problems (though I can’t recall their details) between versions of DAO. My Installshield Windows Installer will install the newer version (BTW, it is version 4.0) in the machine if its DAO is found to be of an earlier version. Surely a Windows Me would have a newer version (?) of DAO than Windows 98, assuming my installer didn’t install DAO 4.0. My program works well with Windows 98. Personally I think version of DAO wasn’t the cause here. Anyway I will check with the DAO version in the Windows Me machine just to satisfy myself that DAO version 4.0 was installed there.

        Thanks for your response, Hans.

    • #883192

      There are issues with using DBase files in older versions of the Jet 4.0 database engine (assuming that the PC has Access 2000 or later; Access 97 uses Jet 3.5). The recommended solution is to install the latest Jet service pack.

      See How to obtain the latest service pack for the Microsoft Jet 4.0 Database Engine.

    Viewing 1 reply thread
    Reply To: VB program – Error 3211 (VB6)

    You can use BBCodes to format your content.
    Your account can't use all available BBCodes, they will be stripped before saving.

    Your information: