Поскольку, для формирования нужного вам отчета, необходимы перекрестные запросы к таблицам выгруженной БД Access, при этом желательно использовать и таблицу со стоимостями, то логичнее всего перенести нужные вам данные в дополнительную таблицу Access. Сделать это можно как в процедуре Implement, так и в пользовательской процедуре, вызываемой в области "Выполнить" бланка.
Выглядеть это может примерно таким образом:
Dim FullPathMDB As String
Dim DatConct As Object
Dim RecSet As Object
Set DatConct = CreateObject("ADODB.Connection")
Set RecSet = CreateObject("ADODB.Recordset")
FullPathMDB = ActiveWorkbook.Worksheets("ComplSheet").Range("RGN_Data").Value
DatConct.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FullPathMDB ' Открыть соединение к БД Access с выгруженными данными
RecSet.Open "Create table TableSmeta (p0 string, p1 long ...)", DatConct ' Создать дополнительную таблицу в текущем наборе данных
RecSet.Close
'состав полей таблицы должен соответствовать вашему внешнему файлу Excel, в нем должно быть поле для связи с другими таблицами базы
RecSet.Open "TableSmeta", DatConct, 1, 3 ' Открыть созданную таблицу на запись
'Далее организовать цикл по количеству строк внешней таблицы Excel, примерно так:
i = 2
Do While Sheet.Range("A"+CStr(i)).Value <> ""
With RecSet
.Addnew
.fields("p0").Value = Sheet.Range("A"+CStr(i)).Value ' Здесь Sheet активный лист (см. пример выше)
.fields("p1").Value = Sheet.Range("B"+CStr(i)).Value
.Update
End With
i = i + 1
Loop
RecSet.Close
DatConct.Close
XLS.Application.Quit ' выход из Excel
Set XLS_App = Nothing
Set XLS = Nothing