Поместил в событие "После обновления" формы следующий код:
Dim qdef As DAO.QueryDef
Dim id As String
Dim guest_id As String
'взял из формы номер, который нужно зашифровать, и поместил в переменную
id = [Forms]![anketa]![Pass_N]
guest_id = [Forms]![anketa]![gid]
'создал объект "запрос"
Set qdef = CurrentDb.CreateQueryDef("")
'поскольку это pass-through запрос, нужно заполнить свойство Connect. Я взял его от одной из прилинкованных таблиц
qdef.Connect = CurrentDb.TableDefs("dbo_guest_names").Connect
'мой запрос - на обновление, записей не возвращает
qdef.ReturnsRecords = False
qdef.SQL = "UPDATE [hostel].[dbo].[guest_names] " _
& "SET id = hostel.dbo.IDEncrypt('" & id & "') " _
& "WHERE guest_id = '" & guest_id & "'"
qdef.Execute
Соответственно, dbo.IDEncrypt - имя скалярной функции на ms sql server, а hostel - база данных, в которых эта функция находится. Код точно работает, id сохраняется в базу в зашифрованном виде.