PDA

View Full Version : You cancelled the previous operation



DBinPhilly
05-20-2009, 09:19 AM
I have a network with about 12 workstations. There is a server (Windows 2003 Server) with the backend of a database residing on it. All users have a frontend package that links with the backend on the server.

I keep a 'pristine' version of the frontend program on the server to download when necessary to the workstations.

My problem: the frontend program stops working from time to time, and it stops working on each workstation at different times.

The most common problem I get is this message:
You cancelled the previous operation

The back end database is rather large (80-90 MB). I have a List Box with several thousand (maybe as many as 10,000) 'reports' listed (newest at the top) and the user clicks on one of the reports to bring it up, or enters a new report. Usually it works, but sometimes the above error is shown, and when it shows, the program is fried. It will not work again. So I download the 'pristine' version and go on.

I have created a MDE version and tried that as my frontend, and that appeared to work. But I am now getting the same error message on that version as well.

Any suggestions are welcome.

OBP
05-21-2009, 04:12 AM
When you say it is "Fried" what exactly goes wrong from there on?
Usually that error message occurs in VBA when part of a Sequence fails, like setting a form filter that won't work and then setting Filteron = true.
So something in the code fails because the data or a Conditon is not valid.
Do you know when it happens most often, viewing old Reports, or adding new ones?
Are all of the Reports in the List Box actually in the tables?
ie. is the list populated Dynamically each time form is opened or is it static or taken from a list in a table?

DBinPhilly
05-21-2009, 04:38 AM
By 'fried' I mean that from that point forward the system will not allow entrance to the form that opens when a 'report' on the list box is clicked. Since this is the most used portion of the entire system, the system is essentially through.

To the best of my knowledge I am not setting "Filteron=True" (unless VBA does that for me. When a user clicks on one of the reports in the list box, the field selected is the Record ID. Here is the VBA code that is executed:

Dim CASE_NUM As Long
If IsNull(lstSearch) Then GoTo NoSearch
AddChange = "Change"
CASE_NUM = lstSearch
Dim stDocName As String, stLinkCriteria As String
stDocName = "frmComplaintAdd"
stLinkCriteria = "INAutoKey = " & CASE_NUM
DoCmd.OpenForm stDocName, acNormal, , stLinkCriteria
NoSearch:

I believe this error happens when viewing old reports.

Here is the relevant code to create a new report:

AddChange = "Add"
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "frmComplaintAdd"
DoCmd.OpenForm stDocName, , , stLinkCriteria, , , "frmComplaintAdd"

This same program is installed in over 20 organizations, none of which have ever experienced this problem. But the organization in question has this happen on up to 12 workstations, usually once every few weeks per workstation.

All reports should be in the table. Perhaps the most recently added report may not be. I don't have access to the program at this time, but I think the list box is requeried when the user returns from entering a new report.

Is it possible that multiple users are stressing the list box in some way, perhaps by adding new reports simultaneously? Most of my other accounts with this program are using 2 to 6 workstations.

OBP
05-21-2009, 06:50 AM
Sorry, the Filteron was just an example, if it is happening with viewing old reports that suggests that
"INAutoKey = " & CASE_NUM
is not being met. But I have no idea why it should stop the Form from working again.
I would ask the users to make a note of the Report that they request when it crashes and then go and view the data to ensure it is consistent with the other records.

Movian
05-21-2009, 10:54 AM
Another thing that i do when i get similar problems is to give a single user an Accdb / MDB version of the system then when this occurs. Use the Debug button to track down the specific action that is causing the error that way i at least get a starting point on what is causing the thing.