Я не уверен, точно ли решает вашу проблему ... если вы хотите добавить столбец в набор записей, который может быть обновлен только в вашем коде (т.е. не может быть записан обратно в базу данных, потому что он не пришел из базы данных), тогда вы можете использовать поставщика OLE DB MsDataShape с его синтаксисом SHAPE...APPEND
, например
Sub MSDataShape_AddNewCol()
Dim rs As ADODB.Recordset
Set rs = CreateObject("ADODB.Recordset")
With rs
.ActiveConnection = _
"Provider=MSDataShape;" & _
"Data Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Tempo\My_Access_DB.mdb"
.Source = _
"SHAPE {" & _
" SELECT ExistingField" & _
" FROM ExistingTable" & _
" ORDER BY ExistingField" & _
"} APPEND NEW adNumeric(5, 4) AS NewField"
.LockType = adLockBatchOptimistic
.Open
Dim i As Long
For i = 0 To .RecordCount - 1
.Fields("NewField").Value = Round(.Fields("ExistingField").Value, 4)
.MoveNext
Next
rs.Save "C:\rs.xml", adPersistXML '
End With
End Sub