Forum Discussion
Office update 2405 17628.20110 causes slowness in loading forms in MS Access
Hi Ron,
I have pointed out the recurrence of the problem to Microsoft again based on the details in this discussion. They are investigating/working on it. I will also send them the information about your repro files.
Servus
Karl
****************
Access Forever, News, DevCon
Access-Entwickler-Konferenz AEK - 19./20.10. Nürnberg
Dear Karl_Donaubauer thanks for providing the bugreport to microsoft.
We have now also identified the issue with the Monthly Enterprise Channel 2407 version. HeinziAT fyi.
The issue in the 2407 version is also in the current channel 2408.
The issue is with reading properties of an object. Below is a sample helper function that reads the value of a property on a form.
I have made a test database, see attached. In this test database is a FormSpeedtest with 1 control. And in the Form_Load we do 100 times a 2000 readproperty call. What we see is that this gives stable timing for 2406, but in 2407 (monthly) and 2408 (current) timings increase significantly. See attached Excel file with the timings.
The code in the attachment reads the property with the function call. But even if you read the property directly in the form_load with me.Tekst0.Properties("text").value (in stead of the readproperty call). The issue appears.
The decrease in performance of the application is permanently, untill you close and re-open the application.
Can you share this also with Microsoft?
Thanks,
Ron
- udhaymannaSep 17, 2024Copper Contributor
Opening .accdb files, including empty ones, takes a long time (30 to 40 seconds), regardless of the file’s contents. My current version is Office LTSC 2021, version 2108 (Build 14332.20763). Interestingly, the same version on a client PC that is not connected to any network opens Access files quickly. The server where the issue occurs is connected to a private network.
Could this issue be related to the private network connection? Is there any workaround for this?
- HeinziATSep 13, 2024Brass Contributor
rkessels wrote:[...] But I think Microsoft should fix this, as it was working before. [...]
Definitely! If I suggest workarounds, it's only to help those who cannot wait for an official bug fix or switch to a more stable Office channel. Constantly rewriting your code to work around the current bug-of-the-month is not a viable long-term strategy. 😉
Best regards
Heinzi
- rkesselsSep 13, 2024Brass Contributor
HeinziAT thanks for your comments, I agree on what you wrote.
It is correct it only appears if you use the properties. But this wasnt the case in the 2406 monthly enterprise version. And I think this is also probably the reason for the issue with the textfield in 2408 that you wrote earlier about.
We have now implemented another way to read the properties, without using properties. So we have a fix. But I think Microsoft should fix this, as it was working before. Hopefully Karl_Donaubauer can also share my second testresultset for 2407.
Best,
Ron
- HeinziATSep 13, 2024Brass Contributor
I can also confirm the "properties" issue in the Monthly Enterprise Channel.
Some observations:
- The issue only occurs when accessing the property via the `Properties` property (hehe). In other words, `x = myTextBox.Properties("Visible").Value` causes trouble, `x = myTextBox.Visible` doesn't.
- Both `x = Eval("Forms!" & formname & "!" & controlname & ".Visible")` and `x = CallByName(myTextBox, "Visible", VbGet)` work fine as well, which might be possible workarounds, if you need to specify the property name dynamically at run-time.
- Setting (instead of getting) the property value via the `Properties` collection also causes trouble. (That's bad news for us, because it breaks our current "UI customization" code.)
- For setting the property value, `CallByName myTextBox, "Visible", VbLet, True` works fine, so that's again a possible workaround.
- I can't reproduce the issue with the Semi-Annual Enterprise Channel (v2402, 17328.20588), so it's apparently not affected yet.
- HeinziATSep 13, 2024Brass Contributor
Thanks for the detailed analysis, that was very helpful. I can confirm your results regarding the Current Channel issue: If we remove all radio button groups from our test form (plus one text box, more on that below), the problem disappears.
There seems to be an additional issue, though. Remember the text box I mentioned earlier? It's control source is an expression referencing another control, e.g. something like `=Iif([someStatusCheckBox]=True,"Done","")`. We also needed to remove that text box (after removing all the radio button groups) to make the "performance leak" disappear.
Creating a minimal example for that issue is harder than usual, since the removal of other, non-related controls from the form also makes the problem disappear, so I'll only that do if someone requests it.
Best regards
Heinzi