none
Problems with the vba array() function after Windows august update RRS feed

  • Question

  • Problems with vba array() function after windows update

    Using Multivalue combobox on a form

    The following statement to clear all the selections :

    me.cmbMultivalue=Array()

    This has worked for years, but after the latest windows update, we are getting the following Visual Basic error:

    Run-time error '-2147352567(80020009)'

    There isn't enough memory to perform this operation. Close unneeded programs and try the operation again.

    Thursday, August 15, 2019 5:27 PM

All replies

  • Thursday, August 15, 2019 6:12 PM
  • Microsoft has acknowledged that all Windows cumulative updates released on August 13, 2019 cause problems with VB/VBA. The problems appear to have to do with empty arrays.

    Microsoft is working on a fix; let's hope it will be released soon


    Regards, Hans Vogelaar (http://www.eileenslounge.com)

    Thursday, August 15, 2019 6:19 PM
  • Is there any suggested workarounds ?

    Thursday, August 15, 2019 7:13 PM
  • You could use

        With.cmbMultivalue.Value
            Do While Not .EOF
                .Delete
                .MoveNext
            Loop
        End With


    Regards, Hans Vogelaar (http://www.eileenslounge.com)

    Thursday, August 15, 2019 7:37 PM
  • You could use

        With .cmbMultivalue.Value
            Do While Not .EOF
                .Delete
                .MoveNext
            Loop
        End With


    Regards, Hans Vogelaar (http://www.eileenslounge.com)

    Returns Run-time error '424' Object required on the statement : Do While Not .EOF
    Thursday, August 15, 2019 7:55 PM
  • Sorry about that, it doesn't work for me either. I hope someone else will have a helpful suggestion.

    Regards, Hans Vogelaar (http://www.eileenslounge.com)

    Thursday, August 15, 2019 8:32 PM
  • Hi

    Have you tried

    Forms![NameOfForm]![cmbMultivalue] = Array()



    Cheers // Peter Forss Stockholm

    Friday, August 16, 2019 4:13 AM
  • Same problem : Its the Array() function that is the problem (after windows update in august)
    Friday, August 16, 2019 5:19 AM
  • Microsoft released a fix (kb4512494) today that is supposed to address recently created VBA bugs, refer to https://support.microsoft.com/en-us/help/4512494/windows-10-update-kb4512494

    Daniel Pineault, 2010-2019 Microsoft MVP
    Professional Support: http://www.cardaconsultants.com
    MS Access Tips and Code Samples: http://www.devhut.net


    Saturday, August 17, 2019 12:03 AM
  • Here's the current (UPDATE: 2019-09-12) state regarding this bug, summarized from the information available on the various KB pages:

    • Windows 10 (1903): Fixed with KB4512941 (which, in turn, causes Cortana issues that have been fixed in KB4515384).
    • Windows 10 (1809) and Windows Server 2019: Fixed with KB4512534.
    • Windows 10 (1803): Fixed with KB4512509.
    • Windows 10 (1709): Fixed with KB4512494.
    • Windows 10 (1703): Fixed with KB4512474.
    • Windows 10 (1607) and Windows Server 2016: Fixed with KB4512495.
    • Windows 8.1 and Windows Server 2012 R2: Fixed with KB4517298.
    • Windows Server 2012: Fixed with KB4517302.
    • Windows 7 and Windows Server 2008 R2: Fixed with KB4517297.

    We have (so far) tested the fix for Windows 8.1, Windows 10 1809 and Windows 10 1903, and it worked for us. Here is a minimal repro example of the issue that we faced:

    Private v2 As Variant
    
    Sub t()
    Dim v1 As Variant
    
        v1 = Array()
        v2 = v1	 ' Invalid procedure call
    End Sub

    Note: Some of the fixes listed above are not available on Windows Update yet but can be downloaded in the Update Catalog.

    Best regards
    Heinzi


    • Edited by Heinzi.at Thursday, September 12, 2019 3:54 PM
    Monday, August 19, 2019 9:25 AM
  • An interesting test I did with Access 2000. Win 7 32bit.

    ComboBox - Me.ComboBox1 bound Control Source to "=Array()"   - still works.

    Textbox  - Me.Textbox1 bound Control Source to "=Array()" - Crash Access.

    The solution I guess would be to avoid blanks or Nulls in Arrays.

    This will work

    V1 = Array(Null)

    V2 = V1 


    • Edited by AccessVandal Thursday, August 22, 2019 5:48 AM add
    Thursday, August 22, 2019 5:48 AM
  • The bug fix is out with KB4512941, and it works for me. I got it via Windows Update.

    https://support.microsoft.com/en-us/help/4512941/windows-10-update-kb4512941

    Matthias Kläy, Kläy Computing AG

    Sunday, September 1, 2019 8:08 AM
  • Users of Windows 10 v1903 should be aware that KB4512941 causes problems on many computers - see https://borncity.com/win/2019/08/30/windows-10-v1903-update-kb4512941-workaround-for-the-cortana-high-cpu-load-issue/

    Regards, Hans Vogelaar (http://www.eileenslounge.com)

    Sunday, September 1, 2019 10:39 AM
  • If I read this blog post correctly, it is about a Beta version of KB4512941 discussing one problem (a 100% CPU condition with Cortana). The Windows 10 build number mentioned in the blog is 18362.327. The released version from Windows Update brings the Windows version to 18362.329. I cannot comment on the Cortana issue because I don't use Cortana, but otherwise I have so far not experienced any problems with this update.

    Matthias Kläy, Kläy Computing AG

    Sunday, September 1, 2019 10:04 PM
  • I have version 18362.329 and experienced the problem, even though Cortana was disabled. The workaround mentioned in the link that I posted worked for me, but it's a hassle.


    Regards, Hans Vogelaar (http://www.eileenslounge.com)

    Monday, September 2, 2019 8:04 AM
  • This will work in VBA/VB6:

    Public Declare Function VariantArray Lib "oleaut32" Alias "SafeArrayCreateVector" (Optional ByVal vt As VbVarType = vbVariant, Optional ByVal lLow As Long = 0, Optional ByVal lCount As Long = 0) As Variant()

    MyVar = VariantArray()

    Wednesday, October 2, 2019 9:00 AM
  • The VBA problem had already been solved, and the search problems that some users experienced are gone in the current version 18362.387 released on September 26, 2019.

    Regards, Hans Vogelaar (http://www.eileenslounge.com)

    Wednesday, October 2, 2019 12:15 PM
  • But with this are new problems created, so that possible this solution can't be installed.

    Wednesday, October 2, 2019 12:55 PM
  • Seems like it's working now. No more crashing on the textbox anymore (Access 2000 with Win7 32bit).
    Tuesday, October 8, 2019 5:17 AM