Vba MSAccess-总计&;可用内存统计?

Vba MSAccess-总计&;可用内存统计?,vba,ms-access,Vba,Ms Access,我目前正在使用以下内容来报告使用我的MSAccess应用程序的各种客户端的总内存。我看到的用户范围很广:2GB到32GB 除了总内存之外,我认为还可以报告可用内存。有任何指针/API参考吗 Public Function SysMemory() Dim oInstance Dim colInstances Dim dRam As Double Set colInstances = GetObject("winmgmts:").ExecQuery("SELECT *

我目前正在使用以下内容来报告使用我的MSAccess应用程序的各种客户端的总内存。我看到的用户范围很广:2GB到32GB

除了总内存之外,我认为还可以报告可用内存。有任何指针/API参考吗

Public Function SysMemory()
    Dim oInstance
    Dim colInstances
    Dim dRam As Double
    Set colInstances = GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_PhysicalMemory")
    For Each oInstance In colInstances
        dRam = dRam + oInstance.Capacity
    Next
    SysMemory = Int(dRam / 1024 / 1024 / 1000) & "GB"
End Function

看看这段代码,与您的代码非常相似:

Sub ShowFreeMemory()
    Dim computerName As String
    computerName = "."

    Dim wmiService As Object
    Set wmiService = GetObject("winmgmts:\\" & computerName & "\root\cimv2")

    Dim items As Object
    Set items = wmiService.ExecQuery("Select * from Win32_PerfFormattedData_PerfOS_Memory", , 48)

    Dim item As Object
    For Each item In items
        Debug.Print "Available GB: " & Round(item.AvailableBytes / 1024 / 1024 / 1024, 3)
    Next
End Sub
我在这里找到的
并对VBA进行了一些修改。

看看这段代码,与您的代码非常相似:

Sub ShowFreeMemory()
    Dim computerName As String
    computerName = "."

    Dim wmiService As Object
    Set wmiService = GetObject("winmgmts:\\" & computerName & "\root\cimv2")

    Dim items As Object
    Set items = wmiService.ExecQuery("Select * from Win32_PerfFormattedData_PerfOS_Memory", , 48)

    Dim item As Object
    For Each item In items
        Debug.Print "Available GB: " & Round(item.AvailableBytes / 1024 / 1024 / 1024, 3)
    Next
End Sub
我在这里找到的
并对VBA进行了一些修改。

很好。一切正常。谢谢,很好。一切正常。谢谢