Error on opening Access 2000 DB on fresh install
Author |
Message |
Jonathan William #1 / 12
|
 Error on opening Access 2000 DB on fresh install
I have created an application that uses VB6 and ADO to read/write Access 2000 (Jet 4.0) databases. On the machine I am developing it on it works properly. I am using another machine to test the install. On this machine I reformatted the HD and installed Win 98SE and Word 2000. I used the VB install wizard to create the install program. I have SP5 on my development machine. The install on the test PC goes off without a hitch. When I rum my program on the test machine I can execute any parts that read from the database with no problem. However, when I execute any routine that writes to the DB I get the following error: 'Error# -2147467259 Operation must be an updateable query. Has Occurredin Microsoft Jet Database Engine' Again the program works fine on my development machine. I am guessing there is some component that is not installed on the test machine properly, but I have no idea what it might be. Anyone have any ideas? Thanks. Jonathan
|
Wed, 29 Jun 2005 00:50:51 GMT |
|
 |
Val Mazu #2 / 12
|
 Error on opening Access 2000 DB on fresh install
Jonathan, To find out what could be you need to trace your code to see which line causes that error. Only after that we could try to find out the problem -- Val Mazur Microsoft MVP
Quote: > I have created an application that uses VB6 and ADO to > read/write Access 2000 (Jet 4.0) databases. On the > machine I am developing it on it works properly. > I am using another machine to test the install. On this > machine I reformatted the HD and installed Win 98SE and > Word 2000. I used the VB install wizard to create the > install program. I have SP5 on my development machine. > The install on the test PC goes off without a hitch. > When I rum my program on the test machine I can execute > any parts that read from the database with no problem. > However, when I execute any routine that writes to the DB > I get the following error: 'Error# -2147467259 Operation > must be an updateable query. Has Occurredin Microsoft Jet > Database Engine' > Again the program works fine on my development machine. I > am guessing there is some component that is not installed > on the test machine properly, but I have no idea what it > might be. Anyone have any ideas? Thanks. > Jonathan
|
Wed, 29 Jun 2005 01:04:55 GMT |
|
 |
Jonathan William #3 / 12
|
 Error on opening Access 2000 DB on fresh install
It occurs on the Update command. Here is a sample of the code. The connection string JRDatabaseConnect is: JRDataBaseConnect = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & JRDataBase & ";Jet OLEDB:Database Password=jack;" The string JRDatabase contains the filename of the DB. Public Sub ChangeInsurance() Dim DB As Connection Dim adoRS As Recordset Dim ID As String Dim Unit As String Unit = frmSelectUnitOrOcc.GetUnit(ID) If ID = "" Or Unit = "" Then Exit Sub Set DB = New Connection DB.CursorLocation = adUseClient DB.Open JRDataBaseConnect Set adoRS = New Recordset adoRS.Open "select APPFIRST,APPLAST,APPMIDI from Occupant where IDCODE='" & ID & "'", DB, adOpenStatic, adLockOptimistic If Not IsNull(adoRS.Fields("APPFIRST")) Then lblFirstName.Caption = adoRS.Fields("APPFIRST") Else lblFirstName.Caption = "" End If If Not IsNull(adoRS.Fields("APPLAST")) Then lblLastName.Caption = adoRS.Fields("APPLAST") Else lblLastName.Caption = "" End If If Not IsNull(adoRS.Fields("APPMIDI")) Then lblMI.Caption = adoRS.Fields("APPMIDI") Else lblMI.Caption = "" End If adoRS.Close adoRS.Open "select * from UnitLease where IDCODE='" & ID & "' and UNITNUMB='" & Unit & "'", DB, adOpenStatic, adLockOptimistic If Not IsNull(adoRS.Fields("INSAMT")) Then fpintInsAmt.Value = Format$(adoRS.Fields ("INSAMT"), "#0") Else fpintInsAmt.Value = "0" End If Timer1.Interval = 250 Timer1.Enabled = True If Not IsNull(adoRS.Fields("UNITNUMB")) Then lblUnitID.Caption = adoRS.Fields("UNITNUMB") Else lblUnitID.Caption = "" End If If Not IsNull(adoRS.Fields("UNITDESCRP")) Then lblDescription.Caption = adoRS.Fields("UNITDESCRP") Else lblDescription.Caption = "" End If If Not IsNull(adoRS.Fields("UNITRATE")) Then lblRentPmt.Caption = Format$(adoRS.Fields ("UNITRATE"), "#0.00") Else lblRentPmt.Caption = "0.00" End If If Not IsNull(adoRS.Fields("INSPAY")) Then lblInsurancePmt.Caption = Format$(adoRS.Fields ("INSPAY"), "#0.00") Else lblInsurancePmt.Caption = "0.00" End If If Not IsNull(adoRS.Fields("RENTPAY")) Then lblTotalPmt.Caption = Format$(adoRS.Fields ("RENTPAY"), "#0.00") Else lblTotalPmt.Caption = "0.00" End If Cancel = False Change = False Me.Show vbModal If Change Then If AskForSave Then Screen.MousePointer = vbHourglass MsgBox "Setting Field" adoRS.Fields("INSAMT") = Val(fpintInsAmt.Value) adoRS.Fields("INSPAY") = Val (lblInsurancePmt.Caption) adoRS.Fields("RENTPAY") = Val (lblTotalPmt.Caption) MsgBox "Updating" adoRS.UpdateBatch MsgBox "Update done" End If End If DB.Close Unload Me End Sub Quote: >-----Original Message----- >Jonathan, >To find out what could be you need to trace your code to see which line >causes that error. Only after that we could try to find out the problem >-- >Val Mazur >Microsoft MVP
>> I have created an application that uses VB6 and ADO to >> read/write Access 2000 (Jet 4.0) databases. On the >> machine I am developing it on it works properly. >> I am using another machine to test the install. On this >> machine I reformatted the HD and installed Win 98SE and >> Word 2000. I used the VB install wizard to create the >> install program. I have SP5 on my development machine. >> The install on the test PC goes off without a hitch. >> When I rum my program on the test machine I can execute >> any parts that read from the database with no problem. >> However, when I execute any routine that writes to the DB >> I get the following error: 'Error# -2147467259 Operation >> must be an updateable query. Has Occurredin Microsoft Jet >> Database Engine' >> Again the program works fine on my development machine. I >> am guessing there is some component that is not installed >> on the test machine properly, but I have no idea what it >> might be. Anyone have any ideas? Thanks. >> Jonathan >.
|
Wed, 29 Jun 2005 01:48:28 GMT |
|
 |
Val Mazu #4 / 12
|
 Error on opening Access 2000 DB on fresh install
Jonathan, Do you mean it fails on UpdateBatch? If yes, try to replacse it with Update. Another possible thing with SQL statement. Check if you do not have any reserved words as a field names -- Val Mazur Microsoft MVP
Quote: > It occurs on the Update command. > Here is a sample of the code. The connection string > JRDatabaseConnect is: > JRDataBaseConnect = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data > Source=" & JRDataBase & ";Jet OLEDB:Database > Password=jack;" > The string JRDatabase contains the filename of the DB. > Public Sub ChangeInsurance() > Dim DB As Connection > Dim adoRS As Recordset > Dim ID As String > Dim Unit As String > Unit = frmSelectUnitOrOcc.GetUnit(ID) > If ID = "" Or Unit = "" Then Exit Sub > Set DB = New Connection > DB.CursorLocation = adUseClient > DB.Open JRDataBaseConnect > Set adoRS = New Recordset > adoRS.Open "select APPFIRST,APPLAST,APPMIDI from > Occupant where IDCODE='" & ID & "'", DB, adOpenStatic, > adLockOptimistic > If Not IsNull(adoRS.Fields("APPFIRST")) Then > lblFirstName.Caption = adoRS.Fields("APPFIRST") > Else > lblFirstName.Caption = "" > End If > If Not IsNull(adoRS.Fields("APPLAST")) Then > lblLastName.Caption = adoRS.Fields("APPLAST") > Else > lblLastName.Caption = "" > End If > If Not IsNull(adoRS.Fields("APPMIDI")) Then > lblMI.Caption = adoRS.Fields("APPMIDI") > Else > lblMI.Caption = "" > End If > adoRS.Close > adoRS.Open "select * from UnitLease where IDCODE='" & > ID & "' and UNITNUMB='" & Unit & "'", DB, adOpenStatic, > adLockOptimistic > If Not IsNull(adoRS.Fields("INSAMT")) Then > fpintInsAmt.Value = Format$(adoRS.Fields > ("INSAMT"), "#0") > Else > fpintInsAmt.Value = "0" > End If > Timer1.Interval = 250 > Timer1.Enabled = True > If Not IsNull(adoRS.Fields("UNITNUMB")) Then > lblUnitID.Caption = adoRS.Fields("UNITNUMB") > Else > lblUnitID.Caption = "" > End If > If Not IsNull(adoRS.Fields("UNITDESCRP")) Then > lblDescription.Caption = adoRS.Fields("UNITDESCRP") > Else > lblDescription.Caption = "" > End If > If Not IsNull(adoRS.Fields("UNITRATE")) Then > lblRentPmt.Caption = Format$(adoRS.Fields > ("UNITRATE"), "#0.00") > Else > lblRentPmt.Caption = "0.00" > End If > If Not IsNull(adoRS.Fields("INSPAY")) Then > lblInsurancePmt.Caption = Format$(adoRS.Fields > ("INSPAY"), "#0.00") > Else > lblInsurancePmt.Caption = "0.00" > End If > If Not IsNull(adoRS.Fields("RENTPAY")) Then > lblTotalPmt.Caption = Format$(adoRS.Fields > ("RENTPAY"), "#0.00") > Else > lblTotalPmt.Caption = "0.00" > End If > Cancel = False > Change = False > Me.Show vbModal > If Change Then > If AskForSave Then > Screen.MousePointer = vbHourglass > MsgBox "Setting Field" > adoRS.Fields("INSAMT") = Val(fpintInsAmt.Value) > adoRS.Fields("INSPAY") = Val > (lblInsurancePmt.Caption) > adoRS.Fields("RENTPAY") = Val > (lblTotalPmt.Caption) > MsgBox "Updating" > adoRS.UpdateBatch > MsgBox "Update done" > End If > End If > DB.Close > Unload Me > End Sub > >-----Original Message----- > >Jonathan, > >To find out what could be you need to trace your code to > see which line > >causes that error. Only after that we could try to find > out the problem > >-- > >Val Mazur > >Microsoft MVP
> >> I have created an application that uses VB6 and ADO to > >> read/write Access 2000 (Jet 4.0) databases. On the > >> machine I am developing it on it works properly. > >> I am using another machine to test the install. On this > >> machine I reformatted the HD and installed Win 98SE and > >> Word 2000. I used the VB install wizard to create the > >> install program. I have SP5 on my development machine. > >> The install on the test PC goes off without a hitch. > >> When I rum my program on the test machine I can execute > >> any parts that read from the database with no problem. > >> However, when I execute any routine that writes to the > DB > >> I get the following error: 'Error# -2147467259 > Operation > >> must be an updateable query. Has Occurredin Microsoft > Jet > >> Database Engine' > >> Again the program works fine on my development > machine. I > >> am guessing there is some component that is not > installed > >> on the test machine properly, but I have no idea what it > >> might be. Anyone have any ideas? Thanks. > >> Jonathan > >.
|
Wed, 29 Jun 2005 02:21:21 GMT |
|
 |
Jonathan William #5 / 12
|
 Error on opening Access 2000 DB on fresh install
Val: Update or Update Batch it makes no difference. This is rather large program. I was just showing you one routine. There are dozens of places where I do reports reading data from the database. They all work perfectly. There are also dozens of places where I write to the database. They all fail with the same error. The program works perfectly on all routines on my development machine. This has to be something with the way data acccess is setup on the machine. Do you know of any bugs in the setup program? Something it forgets to install or maybe installs the wrong version? Jonathan Quote: >-----Original Message----- >Jonathan, >Do you mean it fails on UpdateBatch? If yes, try to
replacse it with Update. Quote: >Another possible thing with SQL statement. Check if you do not have any >reserved words as a field names >-- >Val Mazur >Microsoft MVP
>> It occurs on the Update command. >> Here is a sample of the code. The connection string >> JRDatabaseConnect is: >> JRDataBaseConnect
= "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Quote: >> Source=" & JRDataBase & ";Jet OLEDB:Database >> Password=jack;" >> The string JRDatabase contains the filename of the DB. >> Public Sub ChangeInsurance() >> Dim DB As Connection >> Dim adoRS As Recordset >> Dim ID As String >> Dim Unit As String >> Unit = frmSelectUnitOrOcc.GetUnit(ID) >> If ID = "" Or Unit = "" Then Exit Sub >> Set DB = New Connection >> DB.CursorLocation = adUseClient >> DB.Open JRDataBaseConnect >> Set adoRS = New Recordset >> adoRS.Open "select APPFIRST,APPLAST,APPMIDI from >> Occupant where IDCODE='" & ID & "'", DB, adOpenStatic, >> adLockOptimistic >> If Not IsNull(adoRS.Fields("APPFIRST")) Then >> lblFirstName.Caption = adoRS.Fields("APPFIRST") >> Else >> lblFirstName.Caption = "" >> End If >> If Not IsNull(adoRS.Fields("APPLAST")) Then >> lblLastName.Caption = adoRS.Fields("APPLAST") >> Else >> lblLastName.Caption = "" >> End If >> If Not IsNull(adoRS.Fields("APPMIDI")) Then >> lblMI.Caption = adoRS.Fields("APPMIDI") >> Else >> lblMI.Caption = "" >> End If >> adoRS.Close >> adoRS.Open "select * from UnitLease where IDCODE='" & >> ID & "' and UNITNUMB='" & Unit & "'", DB, adOpenStatic, >> adLockOptimistic >> If Not IsNull(adoRS.Fields("INSAMT")) Then >> fpintInsAmt.Value = Format$(adoRS.Fields >> ("INSAMT"), "#0") >> Else >> fpintInsAmt.Value = "0" >> End If >> Timer1.Interval = 250 >> Timer1.Enabled = True >> If Not IsNull(adoRS.Fields("UNITNUMB")) Then >> lblUnitID.Caption = adoRS.Fields("UNITNUMB") >> Else >> lblUnitID.Caption = "" >> End If >> If Not IsNull(adoRS.Fields("UNITDESCRP")) Then >> lblDescription.Caption = adoRS.Fields ("UNITDESCRP") >> Else >> lblDescription.Caption = "" >> End If >> If Not IsNull(adoRS.Fields("UNITRATE")) Then >> lblRentPmt.Caption = Format$(adoRS.Fields >> ("UNITRATE"), "#0.00") >> Else >> lblRentPmt.Caption = "0.00" >> End If >> If Not IsNull(adoRS.Fields("INSPAY")) Then >> lblInsurancePmt.Caption = Format$(adoRS.Fields >> ("INSPAY"), "#0.00") >> Else >> lblInsurancePmt.Caption = "0.00" >> End If >> If Not IsNull(adoRS.Fields("RENTPAY")) Then >> lblTotalPmt.Caption = Format$(adoRS.Fields >> ("RENTPAY"), "#0.00") >> Else >> lblTotalPmt.Caption = "0.00" >> End If >> Cancel = False >> Change = False >> Me.Show vbModal >> If Change Then >> If AskForSave Then >> Screen.MousePointer = vbHourglass >> MsgBox "Setting Field" >> adoRS.Fields("INSAMT") = Val (fpintInsAmt.Value) >> adoRS.Fields("INSPAY") = Val >> (lblInsurancePmt.Caption) >> adoRS.Fields("RENTPAY") = Val >> (lblTotalPmt.Caption) >> MsgBox "Updating" >> adoRS.UpdateBatch >> MsgBox "Update done" >> End If >> End If >> DB.Close >> Unload Me >> End Sub >> >-----Original Message----- >> >Jonathan, >> >To find out what could be you need to trace your code to >> see which line >> >causes that error. Only after that we could try to find >> out the problem >> >-- >> >Val Mazur >> >Microsoft MVP
>> >> I have created an application that uses VB6 and ADO to >> >> read/write Access 2000 (Jet 4.0) databases. On the >> >> machine I am developing it on it works properly. >> >> I am using another machine to test the install. On this >> >> machine I reformatted the HD and installed Win 98SE and >> >> Word 2000. I used the VB install wizard to create the >> >> install program. I have SP5 on my development machine. >> >> The install on the test PC goes off without a hitch. >> >> When I rum my program on the test machine I can execute >> >> any parts that read from the database with no problem. >> >> However, when I execute any routine that writes to the >> DB >> >> I get the following error: 'Error# -2147467259 >> Operation >> >> must be an updateable query. Has Occurredin Microsoft >> Jet >> >> Database Engine' >> >> Again the program works fine on my development >> machine. I >> >> am guessing there is some component that is not >> installed >> >> on the test machine properly, but I have no idea what it >> >> might be. Anyone have any ideas? Thanks. >> >> Jonathan >> >. >.
|
Wed, 29 Jun 2005 03:23:37 GMT |
|
 |
Val Mazu #6 / 12
|
 Error on opening Access 2000 DB on fresh install
Jonathan, Could be that you have different versions of OLEDB Jet. Try to apply latest Service Pack for Jet 4.0. See next KB about where to obtain it from http://support.microsoft.com/default.aspx?scid=kb;en-us;Q282010 -- Val Mazur Microsoft MVP
Quote: > Val: > Update or Update Batch it makes no difference. This is > rather large program. I was just showing you one > routine. There are dozens of places where I do reports > reading data from the database. They all work perfectly. > There are also dozens of places where I write to the > database. They all fail with the same error. > The program works perfectly on all routines on my > development machine. > This has to be something with the way data acccess is > setup on the machine. Do you know of any bugs in the > setup program? Something it forgets to install or maybe > installs the wrong version? > Jonathan > >-----Original Message----- > >Jonathan, > >Do you mean it fails on UpdateBatch? If yes, try to > replacse it with Update. > >Another possible thing with SQL statement. Check if you > do not have any > >reserved words as a field names > >-- > >Val Mazur > >Microsoft MVP
> >> It occurs on the Update command. > >> Here is a sample of the code. The connection string > >> JRDatabaseConnect is: > >> JRDataBaseConnect > = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data > >> Source=" & JRDataBase & ";Jet OLEDB:Database > >> Password=jack;" > >> The string JRDatabase contains the filename of the DB. > >> Public Sub ChangeInsurance() > >> Dim DB As Connection > >> Dim adoRS As Recordset > >> Dim ID As String > >> Dim Unit As String > >> Unit = frmSelectUnitOrOcc.GetUnit(ID) > >> If ID = "" Or Unit = "" Then Exit Sub > >> Set DB = New Connection > >> DB.CursorLocation = adUseClient > >> DB.Open JRDataBaseConnect > >> Set adoRS = New Recordset > >> adoRS.Open "select APPFIRST,APPLAST,APPMIDI from > >> Occupant where IDCODE='" & ID & "'", DB, adOpenStatic, > >> adLockOptimistic > >> If Not IsNull(adoRS.Fields("APPFIRST")) Then > >> lblFirstName.Caption = adoRS.Fields("APPFIRST") > >> Else > >> lblFirstName.Caption = "" > >> End If > >> If Not IsNull(adoRS.Fields("APPLAST")) Then > >> lblLastName.Caption = adoRS.Fields("APPLAST") > >> Else > >> lblLastName.Caption = "" > >> End If > >> If Not IsNull(adoRS.Fields("APPMIDI")) Then > >> lblMI.Caption = adoRS.Fields("APPMIDI") > >> Else > >> lblMI.Caption = "" > >> End If > >> adoRS.Close > >> adoRS.Open "select * from UnitLease where IDCODE='" > & > >> ID & "' and UNITNUMB='" & Unit & "'", DB, adOpenStatic, > >> adLockOptimistic > >> If Not IsNull(adoRS.Fields("INSAMT")) Then > >> fpintInsAmt.Value = Format$(adoRS.Fields > >> ("INSAMT"), "#0") > >> Else > >> fpintInsAmt.Value = "0" > >> End If > >> Timer1.Interval = 250 > >> Timer1.Enabled = True > >> If Not IsNull(adoRS.Fields("UNITNUMB")) Then > >> lblUnitID.Caption = adoRS.Fields("UNITNUMB") > >> Else > >> lblUnitID.Caption = "" > >> End If > >> If Not IsNull(adoRS.Fields("UNITDESCRP")) Then > >> lblDescription.Caption = adoRS.Fields > ("UNITDESCRP") > >> Else > >> lblDescription.Caption = "" > >> End If > >> If Not IsNull(adoRS.Fields("UNITRATE")) Then > >> lblRentPmt.Caption = Format$(adoRS.Fields > >> ("UNITRATE"), "#0.00") > >> Else > >> lblRentPmt.Caption = "0.00" > >> End If > >> If Not IsNull(adoRS.Fields("INSPAY")) Then > >> lblInsurancePmt.Caption = Format$(adoRS.Fields > >> ("INSPAY"), "#0.00") > >> Else > >> lblInsurancePmt.Caption = "0.00" > >> End If > >> If Not IsNull(adoRS.Fields("RENTPAY")) Then > >> lblTotalPmt.Caption = Format$(adoRS.Fields > >> ("RENTPAY"), "#0.00") > >> Else > >> lblTotalPmt.Caption = "0.00" > >> End If > >> Cancel = False > >> Change = False > >> Me.Show vbModal > >> If Change Then > >> If AskForSave Then > >> Screen.MousePointer = vbHourglass > >> MsgBox "Setting Field" > >> adoRS.Fields("INSAMT") = Val > (fpintInsAmt.Value) > >> adoRS.Fields("INSPAY") = Val > >> (lblInsurancePmt.Caption) > >> adoRS.Fields("RENTPAY") = Val > >> (lblTotalPmt.Caption) > >> MsgBox "Updating" > >> adoRS.UpdateBatch > >> MsgBox "Update done" > >> End If > >> End If > >> DB.Close > >> Unload Me > >> End Sub > >> >-----Original Message----- > >> >Jonathan, > >> >To find out what could be you need to trace your code > to > >> see which line > >> >causes that error. Only after that we could try to find > >> out the problem > >> >-- > >> >Val Mazur > >> >Microsoft MVP
> >> >> I have created an application that uses VB6 and ADO > to > >> >> read/write Access 2000 (Jet 4.0) databases. On the > >> >> machine I am developing it on it works properly. > >> >> I am using another machine to test the install. On > this > >> >> machine I reformatted the HD and installed Win 98SE > and > >> >> Word 2000. I used the VB install wizard to create > the > >> >> install program. I have SP5 on my development > machine. > >> >> The install on the test PC goes off without a hitch. > >> >> When I rum my program on the test machine I can > execute > >> >> any parts that read from the database with no > problem. > >> >> However, when I execute any routine that writes to > the > >> DB > >> >> I get the following error: 'Error# -2147467259 > >> Operation > >> >> must be an updateable query. Has Occurredin > Microsoft > >> Jet > >> >> Database Engine' > >> >> Again the program works fine on my development > >> machine. I > >> >> am guessing there is some component that is not > >> installed > >> >> on the test machine properly, but I have no idea > what it > >> >> might be. Anyone have any ideas? Thanks. > >> >> Jonathan > >> >. > >.
|
Wed, 29 Jun 2005 03:33:52 GMT |
|
 |
Jonathan William #7 / 12
|
 Error on opening Access 2000 DB on fresh install
I looked at the version of msjet40.dll and it is the same on both PC's. It is version 4.00.2927.17. I realize this is a older version, but it is the same on both PCs. When I follow the link you referenced it said that I needed to load SP3 before I could load SP4 becuse of the version of msjet40.dll that I have. When I followed the link to SP3 it said: 'You should only install Jet40SP3_Comp.exe when Jet 4.0 is not already installed by your operating system, an application, or Microsoft Access Data Components (MDAC) 2.5 Service Pack 1 (SP1) or earlier. Before installing Jet40SP3_Comp.exe, you need to install MDAC 2.6 or later.' This makes no sense to me. This is an update right? So of course I already have Jet 4.0 installed on my PC. Should I just ingore this? I guess I also have to install MDAC 2.6 correct? I also forgot to mention I have Access 2000 installed on my development PC. Thanks for all your help. Quote: >-----Original Message----- >Jonathan, >Could be that you have different versions of OLEDB Jet. Try to apply latest >Service Pack for Jet 4.0. See next KB about where to obtain it from >http://support.microsoft.com/default.aspx?scid=kb;en- us;Q282010 >-- >Val Mazur >Microsoft MVP
>> Val: >> Update or Update Batch it makes no difference. This is >> rather large program. I was just showing you one >> routine. There are dozens of places where I do reports >> reading data from the database. They all work perfectly. >> There are also dozens of places where I write to the >> database. They all fail with the same error. >> The program works perfectly on all routines on my >> development machine. >> This has to be something with the way data acccess is >> setup on the machine. Do you know of any bugs in the >> setup program? Something it forgets to install or maybe >> installs the wrong version? >> Jonathan >> >-----Original Message----- >> >Jonathan, >> >Do you mean it fails on UpdateBatch? If yes, try to >> replacse it with Update. >> >Another possible thing with SQL statement. Check if you >> do not have any >> >reserved words as a field names >> >-- >> >Val Mazur >> >Microsoft MVP
>> >> It occurs on the Update command. >> >> Here is a sample of the code. The connection string >> >> JRDatabaseConnect is: >> >> JRDataBaseConnect >> = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data >> >> Source=" & JRDataBase & ";Jet OLEDB:Database >> >> Password=jack;" >> >> The string JRDatabase contains the filename of the DB. >> >> Public Sub ChangeInsurance() >> >> Dim DB As Connection >> >> Dim adoRS As Recordset >> >> Dim ID As String >> >> Dim Unit As String >> >> Unit = frmSelectUnitOrOcc.GetUnit(ID) >> >> If ID = "" Or Unit = "" Then Exit Sub >> >> Set DB = New Connection >> >> DB.CursorLocation = adUseClient >> >> DB.Open JRDataBaseConnect >> >> Set adoRS = New Recordset >> >> adoRS.Open "select APPFIRST,APPLAST,APPMIDI from >> >> Occupant where IDCODE='" & ID & "'", DB, adOpenStatic, >> >> adLockOptimistic >> >> If Not IsNull(adoRS.Fields("APPFIRST")) Then >> >> lblFirstName.Caption = adoRS.Fields ("APPFIRST") >> >> Else >> >> lblFirstName.Caption = "" >> >> End If >> >> If Not IsNull(adoRS.Fields("APPLAST")) Then >> >> lblLastName.Caption = adoRS.Fields("APPLAST") >> >> Else >> >> lblLastName.Caption = "" >> >> End If >> >> If Not IsNull(adoRS.Fields("APPMIDI")) Then >> >> lblMI.Caption = adoRS.Fields("APPMIDI") >> >> Else >> >> lblMI.Caption = "" >> >> End If >> >> adoRS.Close >> >> adoRS.Open "select * from UnitLease where IDCODE='" >> & >> >> ID & "' and UNITNUMB='" & Unit & "'", DB, adOpenStatic, >> >> adLockOptimistic >> >> If Not IsNull(adoRS.Fields("INSAMT")) Then >> >> fpintInsAmt.Value = Format$(adoRS.Fields >> >> ("INSAMT"), "#0") >> >> Else >> >> fpintInsAmt.Value = "0" >> >> End If >> >> Timer1.Interval = 250 >> >> Timer1.Enabled = True >> >> If Not IsNull(adoRS.Fields("UNITNUMB")) Then >> >> lblUnitID.Caption = adoRS.Fields("UNITNUMB") >> >> Else >> >> lblUnitID.Caption = "" >> >> End If >> >> If Not IsNull(adoRS.Fields("UNITDESCRP")) Then >> >> lblDescription.Caption = adoRS.Fields >> ("UNITDESCRP") >> >> Else >> >> lblDescription.Caption = "" >> >> End If >> >> If Not IsNull(adoRS.Fields("UNITRATE")) Then >> >> lblRentPmt.Caption = Format$(adoRS.Fields >> >> ("UNITRATE"), "#0.00") >> >> Else >> >> lblRentPmt.Caption = "0.00" >> >> End If >> >> If Not IsNull(adoRS.Fields("INSPAY")) Then >> >> lblInsurancePmt.Caption =
Format$(adoRS.Fields Quote: >> >> ("INSPAY"), "#0.00") >> >> Else >> >> lblInsurancePmt.Caption = "0.00" >> >> End If >> >> If Not IsNull(adoRS.Fields("RENTPAY")) Then >> >> lblTotalPmt.Caption = Format$(adoRS.Fields >> >> ("RENTPAY"), "#0.00") >> >> Else >> >> lblTotalPmt.Caption = "0.00" >> >> End If >> >> Cancel = False >> >> Change = False >> >> Me.Show vbModal >> >> If Change Then >> >> If AskForSave Then >> >> Screen.MousePointer = vbHourglass >> >> MsgBox "Setting Field" >> >> adoRS.Fields("INSAMT") = Val >> (fpintInsAmt.Value) >> >> adoRS.Fields("INSPAY") = Val >> >> (lblInsurancePmt.Caption) >> >> adoRS.Fields("RENTPAY") = Val >> >> (lblTotalPmt.Caption) >> >> MsgBox "Updating" >> >> adoRS.UpdateBatch >> >> MsgBox "Update done" >> >> End If >> >> End If >> >> DB.Close >> >> Unload Me >> >> End Sub >> >> >-----Original Message----- >> >> >Jonathan, >> >> >To find out what could be you need to trace your code >> to >> >> see which line >> >> >causes that error. Only after that we could try to find >> >> out the problem >> >> >-- >> >> >Val Mazur >> >> >Microsoft MVP
message
>> >> >> I have created an application that uses VB6 and ADO >> to >> >> >> read/write Access 2000 (Jet 4.0) databases. On the >> >> >> machine I am developing it on it works properly. >> >> >> I am using another machine to test the install. On >> this >> >> >> machine I reformatted the HD and installed Win 98SE >> and >> >> >> Word 2000. I used the VB install wizard to create >> the >> >> >> install program. I have SP5 on my development >> machine. >> >> >> The install on the test PC goes off without a hitch. >> >> >> When I rum my program on the test machine I can >> execute >> >> >> any parts that read from the database with no >> problem. >> >> >> However, when I execute any routine that writes to >> the >> >> DB >> >> >> I get the following error: 'Error# -2147467259 >> >> Operation >> >> >> must be an updateable query. Has Occurredin >> Microsoft >> >> Jet >> >> >> Database Engine' >> >> >> Again the program works fine on my development >> >> machine. I >> >> >> am guessing there is some component that is not >> >> installed >> >> >> on the test machine properly, but I have no idea >> what it >> >> >> might be. Anyone have any ideas? Thanks. >> >> >> Jonathan >> >> >. >> >. >.
|
Wed, 29 Jun 2005 04:32:51 GMT |
|
 |
Val Mazu #8 / 12
|
 Error on opening Access 2000 DB on fresh install
Jonathan, If you have Access 2000 installed, then you have Jet 4.0 as well. Basically Jet is not a part of MDAC starting MDAC 2.5 and if you have MDAC 2.6 or newer, then you need to install Jet separately. Looks like this is not your case, since you have Access 2000. Sounds strange, should be some difference between PCs. Try to check if recordset was not opened as read-only (it is possible) -- Val Mazur Microsoft MVP
Quote: > I looked at the version of msjet40.dll and it is the same > on both PC's. It is version 4.00.2927.17. I realize this > is a older version, but it is the same on both PCs. > When I follow the link you referenced it said that I > needed to load SP3 before I could load SP4 becuse of the > version of msjet40.dll that I have. When I followed the > link to SP3 it said: > 'You should only install Jet40SP3_Comp.exe when Jet 4.0 is > not already installed by your operating system, an > application, or Microsoft Access Data Components (MDAC) > 2.5 Service Pack 1 (SP1) or earlier. Before installing > Jet40SP3_Comp.exe, you need to install MDAC 2.6 or > later.' > This makes no sense to me. This is an update right? So > of course I already have Jet 4.0 installed on my PC. > Should I just ingore this? > I guess I also have to install MDAC 2.6 correct? > I also forgot to mention I have Access 2000 installed on > my development PC. > Thanks for all your help. > >-----Original Message----- > >Jonathan, > >Could be that you have different versions of OLEDB Jet. > Try to apply latest > >Service Pack for Jet 4.0. See next KB about where to > obtain it from > >http://support.microsoft.com/default.aspx?scid=kb;en- > us;Q282010 > >-- > >Val Mazur > >Microsoft MVP
> >> Val: > >> Update or Update Batch it makes no difference. This is > >> rather large program. I was just showing you one > >> routine. There are dozens of places where I do reports > >> reading data from the database. They all work > perfectly. > >> There are also dozens of places where I write to the > >> database. They all fail with the same error. > >> The program works perfectly on all routines on my > >> development machine. > >> This has to be something with the way data acccess is > >> setup on the machine. Do you know of any bugs in the > >> setup program? Something it forgets to install or maybe > >> installs the wrong version? > >> Jonathan > >> >-----Original Message----- > >> >Jonathan, > >> >Do you mean it fails on UpdateBatch? If yes, try to > >> replacse it with Update. > >> >Another possible thing with SQL statement. Check if you > >> do not have any > >> >reserved words as a field names > >> >-- > >> >Val Mazur > >> >Microsoft MVP
> >> >> It occurs on the Update command. > >> >> Here is a sample of the code. The connection string > >> >> JRDatabaseConnect is: > >> >> JRDataBaseConnect > >> = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data > >> >> Source=" & JRDataBase & ";Jet OLEDB:Database > >> >> Password=jack;" > >> >> The string JRDatabase contains the filename of the > DB. > >> >> Public Sub ChangeInsurance() > >> >> Dim DB As Connection > >> >> Dim adoRS As Recordset > >> >> Dim ID As String > >> >> Dim Unit As String > >> >> Unit = frmSelectUnitOrOcc.GetUnit(ID) > >> >> If ID = "" Or Unit = "" Then Exit Sub > >> >> Set DB = New Connection > >> >> DB.CursorLocation = adUseClient > >> >> DB.Open JRDataBaseConnect > >> >> Set adoRS = New Recordset > >> >> adoRS.Open "select APPFIRST,APPLAST,APPMIDI from > >> >> Occupant where IDCODE='" & ID & "'", DB, > adOpenStatic, > >> >> adLockOptimistic > >> >> If Not IsNull(adoRS.Fields("APPFIRST")) Then > >> >> lblFirstName.Caption = adoRS.Fields > ("APPFIRST") > >> >> Else > >> >> lblFirstName.Caption = "" > >> >> End If > >> >> If Not IsNull(adoRS.Fields("APPLAST")) Then > >> >> lblLastName.Caption = adoRS.Fields("APPLAST") > >> >> Else > >> >> lblLastName.Caption = "" > >> >> End If > >> >> If Not IsNull(adoRS.Fields("APPMIDI")) Then > >> >> lblMI.Caption = adoRS.Fields("APPMIDI") > >> >> Else > >> >> lblMI.Caption = "" > >> >> End If > >> >> adoRS.Close > >> >> adoRS.Open "select * from UnitLease where > IDCODE='" > >> & > >> >> ID & "' and UNITNUMB='" & Unit & "'", DB, > adOpenStatic, > >> >> adLockOptimistic > >> >> If Not IsNull(adoRS.Fields("INSAMT")) Then > >> >> fpintInsAmt.Value = Format$(adoRS.Fields > >> >> ("INSAMT"), "#0") > >> >> Else > >> >> fpintInsAmt.Value = "0" > >> >> End If > >> >> Timer1.Interval = 250 > >> >> Timer1.Enabled = True > >> >> If Not IsNull(adoRS.Fields("UNITNUMB")) Then > >> >> lblUnitID.Caption = adoRS.Fields("UNITNUMB") > >> >> Else > >> >> lblUnitID.Caption = "" > >> >> End If > >> >> If Not IsNull(adoRS.Fields("UNITDESCRP")) Then > >> >> lblDescription.Caption = adoRS.Fields > >> ("UNITDESCRP") > >> >> Else > >> >> lblDescription.Caption = "" > >> >> End If > >> >> If Not IsNull(adoRS.Fields("UNITRATE")) Then > >> >> lblRentPmt.Caption = Format$(adoRS.Fields > >> >> ("UNITRATE"), "#0.00") > >> >> Else > >> >> lblRentPmt.Caption = "0.00" > >> >> End If > >> >> If Not IsNull(adoRS.Fields("INSPAY")) Then > >> >> lblInsurancePmt.Caption = > Format$(adoRS.Fields > >> >> ("INSPAY"), "#0.00") > >> >> Else > >> >> lblInsurancePmt.Caption = "0.00" > >> >> End If > >> >> If Not IsNull(adoRS.Fields("RENTPAY")) Then > >> >> lblTotalPmt.Caption = Format$(adoRS.Fields > >> >> ("RENTPAY"), "#0.00") > >> >> Else > >> >> lblTotalPmt.Caption = "0.00" > >> >> End If > >> >> Cancel = False > >> >> Change = False > >> >> Me.Show vbModal > >> >> If Change Then > >> >> If AskForSave Then > >> >> Screen.MousePointer = vbHourglass > >> >> MsgBox "Setting Field" > >> >> adoRS.Fields("INSAMT") = Val > >> (fpintInsAmt.Value) > >> >> adoRS.Fields("INSPAY") = Val > >> >> (lblInsurancePmt.Caption) > >> >> adoRS.Fields("RENTPAY") = Val > >> >> (lblTotalPmt.Caption) > >> >> MsgBox "Updating" > >> >> adoRS.UpdateBatch > >> >> MsgBox "Update done" > >> >> End If > >> >> End If > >> >> DB.Close > >> >> Unload Me > >> >> End Sub > >> >> >-----Original Message----- > >> >> >Jonathan, > >> >> >To find out what could be you need to trace your > code > >> to > >> >> see which line > >> >> >causes that error. Only after that we could try to > find > >> >> out the problem > >> >> >-- > >> >> >Val Mazur > >> >> >Microsoft MVP
> message
> >> >> >> I have created an application that uses VB6 and > ADO > >> to > >> >> >> read/write Access 2000 (Jet 4.0) databases. On > the > >> >> >> machine I am developing it on it works properly. > >> >> >> I am using another machine to test the install. > On > >> this > >> >> >> machine I reformatted the HD and installed Win > 98SE > >> and > >> >> >> Word 2000. I used the VB install wizard to create > >> the > >> >> >> install program. I have SP5 on my development > >> machine. > >> >> >> The install on the test PC goes off without a > hitch. > >> >> >> When I rum my program on the test machine I can > >> execute > >> >> >> any parts that read from the database with no > >> problem. > >> >> >> However, when I execute any routine that writes to > >> the > >> >> DB > >> >> >> I get the following error: 'Error# -2147467259 > >> >> Operation > >> >> >> must be an updateable query. Has Occurredin > >> Microsoft > >> >> Jet > >> >> >> Database Engine' > >> >> >> Again the program works fine on my development > >> >> machine. I > >> >> >> am guessing there is some component that is not > >> >> installed > >> >> >> on the test machine properly, but I have no idea > >> what it > >> >> >> might be. Anyone have any ideas? Thanks. > >> >> >> Jonathan > >> >> >. > >> >. > >.
|
Wed, 29 Jun 2005 04:41:44 GMT |
|
 |
Jonathan William #9 / 12
|
 Error on opening Access 2000 DB on fresh install
Recordset is definitely not opened read-only. Remembe same code works fine on the development PC. Should I download MDAC 2.6 (BTW what exactly is this?) and Jet 4.0 SP 3 & 4? Do you know of any good install programs that might overcome this. I had similar problems a few years ago when developing another app. Could never get it to install right with the VB installer. Bought an aftermarket one (Installshield I think) and it worked first time. Jonathan Quote: >-----Original Message----- >Jonathan, >If you have Access 2000 installed, then you have Jet 4.0 as well. Basically >Jet is not a part of MDAC starting MDAC 2.5 and if you have MDAC 2.6 or >newer, then you need to install Jet separately. Looks
like this is not your Quote: >case, since you have Access 2000. Sounds strange, should be some difference >between PCs. Try to check if recordset was not opened as read-only (it is >possible) >-- >Val Mazur >Microsoft MVP
>> I looked at the version of msjet40.dll and it is the same >> on both PC's. It is version 4.00.2927.17. I realize this >> is a older version, but it is the same on both PCs. >> When I follow the link you referenced it said that I >> needed to load SP3 before I could load SP4 becuse of the >> version of msjet40.dll that I have. When I followed the >> link to SP3 it said: >> 'You should only install Jet40SP3_Comp.exe when Jet 4.0 is >> not already installed by your operating system, an >> application, or Microsoft Access Data Components (MDAC) >> 2.5 Service Pack 1 (SP1) or earlier. Before installing >> Jet40SP3_Comp.exe, you need to install MDAC 2.6 or >> later.' >> This makes no sense to me. This is an update right? So >> of course I already have Jet 4.0 installed on my PC. >> Should I just ingore this? >> I guess I also have to install MDAC 2.6 correct? >> I also forgot to mention I have Access 2000 installed on >> my development PC. >> Thanks for all your help. >> >-----Original Message----- >> >Jonathan, >> >Could be that you have different versions of OLEDB Jet. >> Try to apply latest >> >Service Pack for Jet 4.0. See next KB about where to >> obtain it from >> >http://support.microsoft.com/default.aspx?scid=kb;en- >> us;Q282010 >> >-- >> >Val Mazur >> >Microsoft MVP
>> >> Val: >> >> Update or Update Batch it makes no difference. This is >> >> rather large program. I was just showing you one >> >> routine. There are dozens of places where I do reports >> >> reading data from the database. They all work >> perfectly. >> >> There are also dozens of places where I write to the >> >> database. They all fail with the same error. >> >> The program works perfectly on all routines on my >> >> development machine. >> >> This has to be something with the way data acccess is >> >> setup on the machine. Do you know of any bugs in the >> >> setup program? Something it forgets to install or maybe >> >> installs the wrong version? >> >> Jonathan >> >> >-----Original Message----- >> >> >Jonathan, >> >> >Do you mean it fails on UpdateBatch? If yes, try to >> >> replacse it with Update. >> >> >Another possible thing with SQL statement. Check if you >> >> do not have any >> >> >reserved words as a field names >> >> >-- >> >> >Val Mazur >> >> >Microsoft MVP
message
>> >> >> It occurs on the Update command. >> >> >> Here is a sample of the code. The connection string >> >> >> JRDatabaseConnect is: >> >> >> JRDataBaseConnect >> >> = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data >> >> >> Source=" & JRDataBase & ";Jet OLEDB:Database >> >> >> Password=jack;" >> >> >> The string JRDatabase contains the filename of the >> DB. >> >> >> Public Sub ChangeInsurance() >> >> >> Dim DB As Connection >> >> >> Dim adoRS As Recordset >> >> >> Dim ID As String >> >> >> Dim Unit As String >> >> >> Unit = frmSelectUnitOrOcc.GetUnit(ID) >> >> >> If ID = "" Or Unit = "" Then Exit Sub >> >> >> Set DB = New Connection >> >> >> DB.CursorLocation = adUseClient >> >> >> DB.Open JRDataBaseConnect >> >> >> Set adoRS = New Recordset >> >> >> adoRS.Open "select APPFIRST,APPLAST,APPMIDI from >> >> >> Occupant where IDCODE='" & ID & "'", DB, >> adOpenStatic, >> >> >> adLockOptimistic >> >> >> If Not IsNull(adoRS.Fields("APPFIRST")) Then >> >> >> lblFirstName.Caption = adoRS.Fields >> ("APPFIRST") >> >> >> Else >> >> >> lblFirstName.Caption = "" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("APPLAST")) Then >> >> >> lblLastName.Caption = adoRS.Fields ("APPLAST") >> >> >> Else >> >> >> lblLastName.Caption = "" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("APPMIDI")) Then >> >> >> lblMI.Caption = adoRS.Fields("APPMIDI") >> >> >> Else >> >> >> lblMI.Caption = "" >> >> >> End If >> >> >> adoRS.Close >> >> >> adoRS.Open "select * from UnitLease where >> IDCODE='" >> >> & >> >> >> ID & "' and UNITNUMB='" & Unit & "'", DB, >> adOpenStatic, >> >> >> adLockOptimistic >> >> >> If Not IsNull(adoRS.Fields("INSAMT")) Then >> >> >> fpintInsAmt.Value = Format$(adoRS.Fields >> >> >> ("INSAMT"), "#0") >> >> >> Else >> >> >> fpintInsAmt.Value = "0" >> >> >> End If >> >> >> Timer1.Interval = 250 >> >> >> Timer1.Enabled = True >> >> >> If Not IsNull(adoRS.Fields("UNITNUMB")) Then >> >> >> lblUnitID.Caption = adoRS.Fields ("UNITNUMB") >> >> >> Else >> >> >> lblUnitID.Caption = "" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("UNITDESCRP")) Then >> >> >> lblDescription.Caption = adoRS.Fields >> >> ("UNITDESCRP") >> >> >> Else >> >> >> lblDescription.Caption = "" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("UNITRATE")) Then >> >> >> lblRentPmt.Caption = Format$(adoRS.Fields >> >> >> ("UNITRATE"), "#0.00") >> >> >> Else >> >> >> lblRentPmt.Caption = "0.00" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("INSPAY")) Then >> >> >> lblInsurancePmt.Caption = >> Format$(adoRS.Fields >> >> >> ("INSPAY"), "#0.00") >> >> >> Else >> >> >> lblInsurancePmt.Caption = "0.00" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("RENTPAY")) Then >> >> >> lblTotalPmt.Caption = Format$(adoRS.Fields >> >> >> ("RENTPAY"), "#0.00") >> >> >> Else >> >> >> lblTotalPmt.Caption = "0.00" >> >> >> End If >> >> >> Cancel = False >> >> >> Change = False >> >> >> Me.Show vbModal >> >> >> If Change Then >> >> >> If AskForSave Then >> >> >> Screen.MousePointer = vbHourglass >> >> >> MsgBox "Setting Field" >> >> >> adoRS.Fields("INSAMT") = Val >> >> (fpintInsAmt.Value) >> >> >> adoRS.Fields("INSPAY") = Val >> >> >> (lblInsurancePmt.Caption) >> >> >> adoRS.Fields("RENTPAY") = Val >> >> >> (lblTotalPmt.Caption) >> >> >> MsgBox "Updating" >> >> >> adoRS.UpdateBatch >> >> >> MsgBox "Update done" >> >> >> End If >> >> >> End If >> >> >> DB.Close >> >> >> Unload Me >> >> >> End Sub >> >> >> >-----Original Message----- >> >> >> >Jonathan, >> >> >> >To find out what could be you need to trace your >> code >> >> to >> >> >> see which line >> >> >> >causes that error. Only after that we could try to >> find >> >> >> out the problem >> >> >> >-- >> >> >> >Val Mazur >> >> >> >Microsoft MVP
>> message
Quote: >> >> >> >> I have created an application that uses VB6 and >> ADO >> >> to >> >> >> >> read/write Access 2000 (Jet 4.0) databases. On >> the >> >> >> >> machine I am developing it on it works properly. >> >> >> >> I am using another machine to test the install. >> On >> >> this >> >> >> >> machine I reformatted the HD and installed Win >> 98SE >> >> and >> >> >> >> Word 2000. I used the VB install wizard to create >> >> the >> >> >> >> install program. I have SP5 on my development >> >> machine. >> >> >> >> The install on the test PC goes off without a >> hitch. >> >> >> >> When I rum my program on the test machine I can >> >> execute >> >> >> >> any parts that read from the database with no >> >> problem. >> >> >> >> However, when I execute any routine that writes to >> >> the >> >> >> DB >> >> >> >> I get the following error: 'Error# -2147467259 >> >> >> Operation >> >> >> >> must be an updateable query. Has Occurredin >> >> Microsoft >> >> >> Jet >> >> >> >> Database Engine' >> >> >> >> Again the program works fine on my development >> >> >> machine. I >> >> >> >> am guessing there is some component that is not >> >> >> installed >> >> >> >> on the test machine properly, but I have no idea >> >> what it >> >> >> >> might be. Anyone have any ideas? Thanks. >> >> >> >> Jonathan >> >> >> >. >> >> >. >> >. >.
|
Wed, 29 Jun 2005 04:55:12 GMT |
|
 |
Jonathan William #10 / 12
|
 Error on opening Access 2000 DB on fresh install
Val: I bet if I install Access 2000 on the test PC it will work. Only thing is I want the program to install on a PC that does not have Access. I have done an install previously at customers site and the only way I got it to work was to install both VB and Access on the machine. I need them to be able to run a simple install program themselves if they need to add it to a new PC. Are there any updates to the MS install program that I can download or are they in the the SP for VB? Jonathan Quote: >-----Original Message----- >Jonathan, >If you have Access 2000 installed, then you have Jet 4.0 as well. Basically >Jet is not a part of MDAC starting MDAC 2.5 and if you have MDAC 2.6 or >newer, then you need to install Jet separately. Looks
like this is not your Quote: >case, since you have Access 2000. Sounds strange, should be some difference >between PCs. Try to check if recordset was not opened as read-only (it is >possible) >-- >Val Mazur >Microsoft MVP
>> I looked at the version of msjet40.dll and it is the same >> on both PC's. It is version 4.00.2927.17. I realize this >> is a older version, but it is the same on both PCs. >> When I follow the link you referenced it said that I >> needed to load SP3 before I could load SP4 becuse of the >> version of msjet40.dll that I have. When I followed the >> link to SP3 it said: >> 'You should only install Jet40SP3_Comp.exe when Jet 4.0 is >> not already installed by your operating system, an >> application, or Microsoft Access Data Components (MDAC) >> 2.5 Service Pack 1 (SP1) or earlier. Before installing >> Jet40SP3_Comp.exe, you need to install MDAC 2.6 or >> later.' >> This makes no sense to me. This is an update right? So >> of course I already have Jet 4.0 installed on my PC. >> Should I just ingore this? >> I guess I also have to install MDAC 2.6 correct? >> I also forgot to mention I have Access 2000 installed on >> my development PC. >> Thanks for all your help. >> >-----Original Message----- >> >Jonathan, >> >Could be that you have different versions of OLEDB Jet. >> Try to apply latest >> >Service Pack for Jet 4.0. See next KB about where to >> obtain it from >> >http://support.microsoft.com/default.aspx?scid=kb;en- >> us;Q282010 >> >-- >> >Val Mazur >> >Microsoft MVP
>> >> Val: >> >> Update or Update Batch it makes no difference. This is >> >> rather large program. I was just showing you one >> >> routine. There are dozens of places where I do reports >> >> reading data from the database. They all work >> perfectly. >> >> There are also dozens of places where I write to the >> >> database. They all fail with the same error. >> >> The program works perfectly on all routines on my >> >> development machine. >> >> This has to be something with the way data acccess is >> >> setup on the machine. Do you know of any bugs in the >> >> setup program? Something it forgets to install or maybe >> >> installs the wrong version? >> >> Jonathan >> >> >-----Original Message----- >> >> >Jonathan, >> >> >Do you mean it fails on UpdateBatch? If yes, try to >> >> replacse it with Update. >> >> >Another possible thing with SQL statement. Check if you >> >> do not have any >> >> >reserved words as a field names >> >> >-- >> >> >Val Mazur >> >> >Microsoft MVP
message
>> >> >> It occurs on the Update command. >> >> >> Here is a sample of the code. The connection string >> >> >> JRDatabaseConnect is: >> >> >> JRDataBaseConnect >> >> = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data >> >> >> Source=" & JRDataBase & ";Jet OLEDB:Database >> >> >> Password=jack;" >> >> >> The string JRDatabase contains the filename of the >> DB. >> >> >> Public Sub ChangeInsurance() >> >> >> Dim DB As Connection >> >> >> Dim adoRS As Recordset >> >> >> Dim ID As String >> >> >> Dim Unit As String >> >> >> Unit = frmSelectUnitOrOcc.GetUnit(ID) >> >> >> If ID = "" Or Unit = "" Then Exit Sub >> >> >> Set DB = New Connection >> >> >> DB.CursorLocation = adUseClient >> >> >> DB.Open JRDataBaseConnect >> >> >> Set adoRS = New Recordset >> >> >> adoRS.Open "select APPFIRST,APPLAST,APPMIDI from >> >> >> Occupant where IDCODE='" & ID & "'", DB, >> adOpenStatic, >> >> >> adLockOptimistic >> >> >> If Not IsNull(adoRS.Fields("APPFIRST")) Then >> >> >> lblFirstName.Caption = adoRS.Fields >> ("APPFIRST") >> >> >> Else >> >> >> lblFirstName.Caption = "" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("APPLAST")) Then >> >> >> lblLastName.Caption = adoRS.Fields ("APPLAST") >> >> >> Else >> >> >> lblLastName.Caption = "" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("APPMIDI")) Then >> >> >> lblMI.Caption = adoRS.Fields("APPMIDI") >> >> >> Else >> >> >> lblMI.Caption = "" >> >> >> End If >> >> >> adoRS.Close >> >> >> adoRS.Open "select * from UnitLease where >> IDCODE='" >> >> & >> >> >> ID & "' and UNITNUMB='" & Unit & "'", DB, >> adOpenStatic, >> >> >> adLockOptimistic >> >> >> If Not IsNull(adoRS.Fields("INSAMT")) Then >> >> >> fpintInsAmt.Value = Format$(adoRS.Fields >> >> >> ("INSAMT"), "#0") >> >> >> Else >> >> >> fpintInsAmt.Value = "0" >> >> >> End If >> >> >> Timer1.Interval = 250 >> >> >> Timer1.Enabled = True >> >> >> If Not IsNull(adoRS.Fields("UNITNUMB")) Then >> >> >> lblUnitID.Caption = adoRS.Fields ("UNITNUMB") >> >> >> Else >> >> >> lblUnitID.Caption = "" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("UNITDESCRP")) Then >> >> >> lblDescription.Caption = adoRS.Fields >> >> ("UNITDESCRP") >> >> >> Else >> >> >> lblDescription.Caption = "" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("UNITRATE")) Then >> >> >> lblRentPmt.Caption = Format$(adoRS.Fields >> >> >> ("UNITRATE"), "#0.00") >> >> >> Else >> >> >> lblRentPmt.Caption = "0.00" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("INSPAY")) Then >> >> >> lblInsurancePmt.Caption = >> Format$(adoRS.Fields >> >> >> ("INSPAY"), "#0.00") >> >> >> Else >> >> >> lblInsurancePmt.Caption = "0.00" >> >> >> End If >> >> >> If Not IsNull(adoRS.Fields("RENTPAY")) Then >> >> >> lblTotalPmt.Caption = Format$(adoRS.Fields >> >> >> ("RENTPAY"), "#0.00") >> >> >> Else >> >> >> lblTotalPmt.Caption = "0.00" >> >> >> End If >> >> >> Cancel = False >> >> >> Change = False >> >> >> Me.Show vbModal >> >> >> If Change Then >> >> >> If AskForSave Then >> >> >> Screen.MousePointer = vbHourglass >> >> >> MsgBox "Setting Field" >> >> >> adoRS.Fields("INSAMT") = Val >> >> (fpintInsAmt.Value) >> >> >> adoRS.Fields("INSPAY") = Val >> >> >> (lblInsurancePmt.Caption) >> >> >> adoRS.Fields("RENTPAY") = Val >> >> >> (lblTotalPmt.Caption) >> >> >> MsgBox "Updating" >> >> >> adoRS.UpdateBatch >> >> >> MsgBox "Update done" >> >> >> End If >> >> >> End If >> >> >> DB.Close >> >> >> Unload Me >> >> >> End Sub >> >> >> >-----Original Message----- >> >> >> >Jonathan, >> >> >> >To find out what could be you need to trace your >> code >> >> to >> >> >> see which line >> >> >> >causes that error. Only after that we could try to >> find >> >> >> out the problem >> >> >> >-- >> >> >> >Val Mazur >> >> >> >Microsoft MVP
>> message
Quote: >> >> >> >> I have created an application that uses VB6 and >> ADO >> >> to >> >> >> >> read/write Access 2000 (Jet 4.0) databases. On >> the >> >> >> >> machine I am developing it on it works properly. >> >> >> >> I am using another machine to test the install. >> On >> >> this >> >> >> >> machine I reformatted the HD and installed Win >> 98SE >> >> and >> >> >> >> Word 2000. I used the VB install wizard to create >> >> the >> >> >> >> install program. I have SP5 on my development >> >> machine. >> >> >> >> The install on the test PC goes off without a >> hitch. >> >> >> >> When I rum my program on the test machine I can >> >> execute >> >> >> >> any parts that read from the database with no >> >> problem. >> >> >> >> However, when I execute any routine that writes to >> >> the >> >> >> DB >> >> >> >> I get the following error: 'Error# -2147467259 >> >> >> Operation >> >> >> >> must be an updateable query. Has Occurredin >> >> Microsoft >> >> >> Jet >> >> >> >> Database Engine' >> >> >> >> Again the program works fine on my development >> >> >> machine. I >> >> >> >> am guessing there is some component that is not >> >> >> installed >> >> >> >> on the test machine properly, but I have no idea >> >> what it >> >> >> >> might be. Anyone have any ideas? Thanks. >> >> >> >> Jonathan >> >> >> >. >> >> >. >> >. >.
|
Wed, 29 Jun 2005 04:59:51 GMT |
|
 |
Victo #11 / 12
|
 Error on opening Access 2000 DB on fresh install
check: Properties data base is not read only. Attributes user in data base. Victor, from Argentina.
Quote: > I have created an application that uses VB6 and ADO to > read/write Access 2000 (Jet 4.0) databases. On the > machine I am developing it on it works properly. > I am using another machine to test the install. On this > machine I reformatted the HD and installed Win 98SE and > Word 2000. I used the VB install wizard to create the > install program. I have SP5 on my development machine. > The install on the test PC goes off without a hitch. > When I rum my program on the test machine I can execute > any parts that read from the database with no problem. > However, when I execute any routine that writes to the DB > I get the following error: 'Error# -2147467259 Operation > must be an updateable query. Has Occurredin Microsoft Jet > Database Engine' > Again the program works fine on my development machine. I > am guessing there is some component that is not installed > on the test machine properly, but I have no idea what it > might be. Anyone have any ideas? Thanks. > Jonathan
|
Wed, 29 Jun 2005 05:35:20 GMT |
|
 |
Val Mazu #12 / 12
|
 Error on opening Access 2000 DB on fresh install
Hi, Looks like some DLL files are missing or Jet is not installed correctly on that target PC. It is possible that your installation does not include all required files. Also, probaly Jet will not be included into your installation. You would need to run Jet SP3 and 4 separately to do that. -- Val Mazur Microsoft MVP
Quote: > Val: > I bet if I install Access 2000 on the test PC it will > work. Only thing is I want the program to install on a PC > that does not have Access. I have done an install > previously at customers site and the only way I got it to > work was to install both VB and Access on the machine. I > need them to be able to run a simple install program > themselves if they need to add it to a new PC. > Are there any updates to the MS install program that I can > download or are they in the the SP for VB? > Jonathan > >-----Original Message----- > >Jonathan, > >If you have Access 2000 installed, then you have Jet 4.0 > as well. Basically > >Jet is not a part of MDAC starting MDAC 2.5 and if you > have MDAC 2.6 or > >newer, then you need to install Jet separately. Looks > like this is not your > >case, since you have Access 2000. Sounds strange, should > be some difference > >between PCs. Try to check if recordset was not opened as > read-only (it is > >possible) > >-- > >Val Mazur > >Microsoft MVP
> >> I looked at the version of msjet40.dll and it is the > same > >> on both PC's. It is version 4.00.2927.17. I realize > this > >> is a older version, but it is the same on both PCs. > >> When I follow the link you referenced it said that I > >> needed to load SP3 before I could load SP4 becuse of the > >> version of msjet40.dll that I have. When I followed the > >> link to SP3 it said: > >> 'You should only install Jet40SP3_Comp.exe when Jet 4.0 > is > >> not already installed by your operating system, an > >> application, or Microsoft Access Data Components (MDAC) > >> 2.5 Service Pack 1 (SP1) or earlier. Before installing > >> Jet40SP3_Comp.exe, you need to install MDAC 2.6 or > >> later.' > >> This makes no sense to me. This is an update right? So > >> of course I already have Jet 4.0 installed on my PC. > >> Should I just ingore this? > >> I guess I also have to install MDAC 2.6 correct? > >> I also forgot to mention I have Access 2000 installed on > >> my development PC. > >> Thanks for all your help. > >> >-----Original Message----- > >> >Jonathan, > >> >Could be that you have different versions of OLEDB Jet. > >> Try to apply latest > >> >Service Pack for Jet 4.0. See next KB about where to > >> obtain it from > >> >http://support.microsoft.com/default.aspx?scid=kb;en- > >> us;Q282010 > >> >-- > >> >Val Mazur > >> >Microsoft MVP
> >> >> Val: > >> >> Update or Update Batch it makes no difference. This > is > >> >> rather large program. I was just showing you one > >> >> routine. There are dozens of places where I do > reports > >> >> reading data from the database. They all work > >> perfectly. > >> >> There are also dozens of places where I write to the > >> >> database. They all fail with the same error. > >> >> The program works perfectly on all routines on my > >> >> development machine. > >> >> This has to be something with the way data acccess is > >> >> setup on the machine. Do you know of any bugs in the > >> >> setup program? Something it forgets to install or > maybe > >> >> installs the wrong version? > >> >> Jonathan > >> >> >-----Original Message----- > >> >> >Jonathan, > >> >> >Do you mean it fails on UpdateBatch? If yes, try to > >> >> replacse it with Update. > >> >> >Another possible thing with SQL statement. Check if > you > >> >> do not have any > >> >> >reserved words as a field names > >> >> >-- > >> >> >Val Mazur > >> >> >Microsoft MVP
> message
> >> >> >> It occurs on the Update command. > >> >> >> Here is a sample of the code. The connection > string > >> >> >> JRDatabaseConnect is: > >> >> >> JRDataBaseConnect > >> >> = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data > >> >> >> Source=" & JRDataBase & ";Jet OLEDB:Database > >> >> >> Password=jack;" > >> >> >> The string JRDatabase contains the filename of the > >> DB. > >> >> >> Public Sub ChangeInsurance() > >> >> >> Dim DB As Connection > >> >> >> Dim adoRS As Recordset > >> >> >> Dim ID As String > >> >> >> Dim Unit As String > >> >> >> Unit = frmSelectUnitOrOcc.GetUnit(ID) > >> >> >> If ID = "" Or Unit = "" Then Exit Sub > >> >> >> Set DB = New Connection > >> >> >> DB.CursorLocation = adUseClient > >> >> >> DB.Open JRDataBaseConnect > >> >> >> Set adoRS = New Recordset > >> >> >> adoRS.Open "select APPFIRST,APPLAST,APPMIDI > from > >> >> >> Occupant where IDCODE='" & ID & "'", DB, > >> adOpenStatic, > >> >> >> adLockOptimistic > >> >> >> If Not IsNull(adoRS.Fields("APPFIRST")) Then > >> >> >> lblFirstName.Caption = adoRS.Fields > >> ("APPFIRST") > >> >> >> Else > >> >> >> lblFirstName.Caption = "" > >> >> >> End If > >> >> >> If Not IsNull(adoRS.Fields("APPLAST")) Then > >> >> >> lblLastName.Caption = adoRS.Fields > ("APPLAST") > >> >> >> Else > >> >> >> lblLastName.Caption = "" > >> >> >> End If > >> >> >> If Not IsNull(adoRS.Fields("APPMIDI")) Then > >> >> >> lblMI.Caption = adoRS.Fields("APPMIDI") > >> >> >> Else > >> >> >> lblMI.Caption = "" > >> >> >> End If > >> >> >> adoRS.Close > >> >> >> adoRS.Open "select * from UnitLease where > >> IDCODE='" > >> >> & > >> >> >> ID & "' and UNITNUMB='" & Unit & "'", DB, > >> adOpenStatic, > >> >> >> adLockOptimistic > >> >> >> If Not IsNull(adoRS.Fields("INSAMT")) Then > >> >> >> fpintInsAmt.Value = Format$(adoRS.Fields > >> >> >> ("INSAMT"), "#0") > >> >> >> Else > >> >> >> fpintInsAmt.Value = "0" > >> >> >> End If > >> >> >> Timer1.Interval = 250 > >> >> >> Timer1.Enabled = True > >> >> >> If Not IsNull(adoRS.Fields("UNITNUMB")) Then > >> >> >> lblUnitID.Caption = adoRS.Fields > ("UNITNUMB") > >> >> >> Else > >> >> >> lblUnitID.Caption = "" > >> >> >> End If > >> >> >> If Not IsNull(adoRS.Fields("UNITDESCRP")) Then > >> >> >> lblDescription.Caption = adoRS.Fields > >> >> ("UNITDESCRP") > >> >> >> Else > >> >> >> lblDescription.Caption = "" > >> >> >> End If > >> >> >> If Not IsNull(adoRS.Fields("UNITRATE")) Then > >> >> >> lblRentPmt.Caption = Format$(adoRS.Fields > >> >> >> ("UNITRATE"), "#0.00") > >> >> >> Else > >> >> >> lblRentPmt.Caption = "0.00" > >> >> >> End If > >> >> >> If Not IsNull(adoRS.Fields("INSPAY")) Then > >> >> >> lblInsurancePmt.Caption = > >> Format$(adoRS.Fields > >> >> >> ("INSPAY"), "#0.00") > >> >> >> Else > >> >> >> lblInsurancePmt.Caption = "0.00" > >> >> >> End If > >> >> >> If Not IsNull(adoRS.Fields("RENTPAY")) Then > >> >> >> lblTotalPmt.Caption = Format$(adoRS.Fields > >> >> >> ("RENTPAY"), "#0.00") > >> >> >> Else > >> >> >> lblTotalPmt.Caption = "0.00" > >> >> >> End If > >> >> >> Cancel = False > >> >> >> Change = False > >> >> >> Me.Show vbModal > >> >> >> If Change Then > >> >> >> If AskForSave Then > >> >> >> Screen.MousePointer = vbHourglass > >> >> >> MsgBox "Setting Field" > >> >> >> adoRS.Fields("INSAMT") = Val > >> >> (fpintInsAmt.Value) > >> >> >> adoRS.Fields("INSPAY") = Val > >> >> >> (lblInsurancePmt.Caption) > >> >> >> adoRS.Fields("RENTPAY") = Val > >> >> >> (lblTotalPmt.Caption) > >> >> >> MsgBox "Updating" > >> >> >> adoRS.UpdateBatch > >> >> >> MsgBox "Update done" > >> >> >> End If > >> >> >> End If > >> >> >> DB.Close > >> >> >> Unload Me > >> >> >> End Sub > >> >> >> >-----Original Message----- > >> >> >> >Jonathan, > >> >> >> >To find out what could be you need to trace your > >> code > >> >> to > >> >> >> see which line > >> >> >> >causes that error. Only after that we could try > to > >> find > >> >> >> out the problem > >> >> >> >-- > >> >> >> >Val Mazur > >> >> >> >Microsoft MVP
> >> message
> >> >> >> >> I have created an application that uses VB6 and > >> ADO > >> >> to > >> >> >> >> read/write Access 2000 (Jet 4.0) databases. On > >> the > >> >> >> >> machine I am developing it on it works > properly. > >> >> >> >> I am using another machine to test the install. > >> On > >> >> this > >> >> >> >> machine I reformatted the HD and installed Win > >> 98SE > >> >> and > >> >> >> >> Word 2000. I used the VB install wizard to > create > >> >> the > >> >> >> >> install program. I have SP5 on my development > >> >> machine. > >> >> >> >> The install on the test PC goes off without a > >> hitch. > >> >> >> >> When I rum my program on the test machine I can > >> >> execute > >> >> >> >> any parts that read from the database with no > >> >> problem. > >> >> >> >> However,
... read more »
|
Fri, 01 Jul 2005 20:40:54 GMT |
|
|
|