Мне трудно понять, чего вы пытаетесь достичь.
Вы читаете всю таблицу данных в объект набора записей, загружаете поля объекта набора записей в двумерный массив, а затем пытаетесь перебрать массив для вывода результатов в одну переменную (или сумму массива). значения).
Почему бы вам просто не использовать выражение SQL для извлечения данных непосредственно из таблицы?
Если мы можем предположить, что у вас есть таблица счетов (скажем ... "myInvoiceTable"), по крайней мере со следующими полями ...
InvoiceID
invoiceValue
(и, возможно, многие другие, например, invoiceDate, clientID и т. д.)
Вы можете написать выражение примерно так:
"ВЫБЕРИТЕ СУММУ (invoiceValue) КАК MyTotal ИЗ myInvoiceTable, ГДЕ invoiceID> xxxx"
Это может войти в ваш код VBA следующим образом.
Dim rst as Recordset
Dim strSQL as string
strSQL = "SELECT SUM(invoiceValue) AS MyTotal FROM myInvoiceTable WHERE invoiceID > 400" '-- use an appropriate WHERE clause if needed
Set rst = CurrentDb.Openrecordset(strSQL) '-- the rst object should contain a single value "MyTotal" which is the sum of the fields you are trying to access
MsgBox rst!MyTotal '-- use this value wherever you need to use it