I created an application in Access 2000 that has been working fine on windows 98 and XP machines. The database is split into a front end/backend - with the back end on the server.
The client now has two windows 2000 professional machines (with all recent service patches done, including SP4), and wants to run the Access application on it. The program bombs out all over the place in Windows 2000. It continues to work fine on the older OS's even while it's bombing out on the windows 2000 machine... I have the application the server as well (for some reason the performance is actually BETTER doing that than putting it on the client machine), but I have also tried putting the front end application on each workstation's hard drive with the same problem.
I am using DAO code. I have gone through ALL of the code and double checked to make sure that I implicitly reference the dao library vs ado in any code (i.e. referencing dao objects with the dao prefix - dim db as dao.database). I've checked references - I'm not using ADO at all in this database - and not only do I have the correct references, but I've never gotten an error saying I don't have the right ones (I've found many many people with similar problems and it seems it always turned out it was a reference problem).
I've tried creating a new blank database on the win2000 machine, importing the front end, fixing the references, and it seems to work for a short bit (sometimes) and then sooner or later I get miscellaneous error messages that don't pinpoint the problem. The most common error message is "method value of object textbox failed". I've tried running this as an mde with no difference.
Possibly related, this particular machine will not allow the user to double click an mdb file to open Access. One has to open Access first and then use the file open option to get to the file. Trying to double click an mdb file opens a windows installer message, stating that I need the Microsoft Office 2000 Disc 2. When I insert that disk, I get "error 1706, no valid source code found". We tried uninstalling and reinstalling Office with no success, and later wiped the entire disk clean, did a new windows 2000 professional install, added Office 2000, did all the service pack updates.
From what I've read, the Jet update for windows 2000 is different from XP and 98, but it's covered in the windows 2000 SP4 update. Is it possible that I can't share this file on the network with both a windows 2000 client and a windows 98/xp client because of jet differences? Yikes? Doesn't seem possible.
Has anyone run into this - can they help?? Sorry for all the rambles - not sure how to write this concisely.
Since I'm able to move around in forms and do quite a bit before the errors begin, I've spent a lot of time trying to figure out where the first sign of trouble appears. It MIGHT be on the after update property of a text box that has the following code:
Private Sub lngCFCCaseWorker_AfterUpdate()
On Error GoTo Err_handle
'save the old value
Dim lngPriorCW As Long
lngPriorCW = Nz(Me![lngCFCCaseWorker].OldValue, 0)
'if the user added a new record using the asterisk rather than the add new button,
'the case id will be zero. Assign the new number now so that any subforms have the
'correct ID assigned.
If IsNull(Me!lngChildID) Or Me!lngChildID = 0 Then
Me.lngChildID = MultiNextChildID()
End If
'record has to be saved in order to create the history
DoCmd.RunCommand acCmdSaveRecord
If IsNull(Me![dtmOpenDate]) Then
MsgBox "The open date isn't yet completed - this will have to be manually added to the SC history!"
End If
'check to see if any prior CW's have been assigned to this case
If DLookup("[CountCase]", "qryCountCaseCFC"
= 0 Then
'this is a first time referral, add case worker to tblSCAssignments (need to save the record)
DoCmd.SetWarnings False
DoCmd.OpenQuery "qappCFCWorker"
DoCmd.SetWarnings True
Else
'this is not a first time referral. Update ID (internal discharge) information for current SC
Dim dtmCurrentDate As Date
dtmCurrentDate = Date
Call AddCFCDischarge(lngPriorCW, "ID", dtmCurrentDate)
'add the new SC with an internal transfer tag
DoCmd.SetWarnings False
DoCmd.OpenQuery "qappCFCWorkerIT"
DoCmd.SetWarnings True
End If
'refresh the subform so user can see the changes
Me![frmCFCHistory].Form.Requery
Exit_Err_handle:
Exit Sub
Err_handle:
MsgBox Err.Number & " " & Err.Description
Resume Exit_Err_handle
--
Of course, this is calling some other functions - so I realize this is not very complete, but I'm guessing the problem is not being caused by specific code at this point...
Help!
CindyK.
The client now has two windows 2000 professional machines (with all recent service patches done, including SP4), and wants to run the Access application on it. The program bombs out all over the place in Windows 2000. It continues to work fine on the older OS's even while it's bombing out on the windows 2000 machine... I have the application the server as well (for some reason the performance is actually BETTER doing that than putting it on the client machine), but I have also tried putting the front end application on each workstation's hard drive with the same problem.
I am using DAO code. I have gone through ALL of the code and double checked to make sure that I implicitly reference the dao library vs ado in any code (i.e. referencing dao objects with the dao prefix - dim db as dao.database). I've checked references - I'm not using ADO at all in this database - and not only do I have the correct references, but I've never gotten an error saying I don't have the right ones (I've found many many people with similar problems and it seems it always turned out it was a reference problem).
I've tried creating a new blank database on the win2000 machine, importing the front end, fixing the references, and it seems to work for a short bit (sometimes) and then sooner or later I get miscellaneous error messages that don't pinpoint the problem. The most common error message is "method value of object textbox failed". I've tried running this as an mde with no difference.
Possibly related, this particular machine will not allow the user to double click an mdb file to open Access. One has to open Access first and then use the file open option to get to the file. Trying to double click an mdb file opens a windows installer message, stating that I need the Microsoft Office 2000 Disc 2. When I insert that disk, I get "error 1706, no valid source code found". We tried uninstalling and reinstalling Office with no success, and later wiped the entire disk clean, did a new windows 2000 professional install, added Office 2000, did all the service pack updates.
From what I've read, the Jet update for windows 2000 is different from XP and 98, but it's covered in the windows 2000 SP4 update. Is it possible that I can't share this file on the network with both a windows 2000 client and a windows 98/xp client because of jet differences? Yikes? Doesn't seem possible.
Has anyone run into this - can they help?? Sorry for all the rambles - not sure how to write this concisely.
Since I'm able to move around in forms and do quite a bit before the errors begin, I've spent a lot of time trying to figure out where the first sign of trouble appears. It MIGHT be on the after update property of a text box that has the following code:
Private Sub lngCFCCaseWorker_AfterUpdate()
On Error GoTo Err_handle
'save the old value
Dim lngPriorCW As Long
lngPriorCW = Nz(Me![lngCFCCaseWorker].OldValue, 0)
'if the user added a new record using the asterisk rather than the add new button,
'the case id will be zero. Assign the new number now so that any subforms have the
'correct ID assigned.
If IsNull(Me!lngChildID) Or Me!lngChildID = 0 Then
Me.lngChildID = MultiNextChildID()
End If
'record has to be saved in order to create the history
DoCmd.RunCommand acCmdSaveRecord
If IsNull(Me![dtmOpenDate]) Then
MsgBox "The open date isn't yet completed - this will have to be manually added to the SC history!"
End If
'check to see if any prior CW's have been assigned to this case
If DLookup("[CountCase]", "qryCountCaseCFC"

'this is a first time referral, add case worker to tblSCAssignments (need to save the record)
DoCmd.SetWarnings False
DoCmd.OpenQuery "qappCFCWorker"
DoCmd.SetWarnings True
Else
'this is not a first time referral. Update ID (internal discharge) information for current SC
Dim dtmCurrentDate As Date
dtmCurrentDate = Date
Call AddCFCDischarge(lngPriorCW, "ID", dtmCurrentDate)
'add the new SC with an internal transfer tag
DoCmd.SetWarnings False
DoCmd.OpenQuery "qappCFCWorkerIT"
DoCmd.SetWarnings True
End If
'refresh the subform so user can see the changes
Me![frmCFCHistory].Form.Requery
Exit_Err_handle:
Exit Sub
Err_handle:
MsgBox Err.Number & " " & Err.Description
Resume Exit_Err_handle
--
Of course, this is calling some other functions - so I realize this is not very complete, but I'm guessing the problem is not being caused by specific code at this point...
Help!
CindyK.