Дополнительные сведения о сохранении наборов записей
Область применения: Access 2013, Office 2013
Объект ADO Recordset поддерживает хранение содержимого объекта Recordset в файле с помощью метода Save . Постоянно хранящийся файл может существовать на локальном диске, сетевом сервере или в качестве URL-адреса на веб-сайте. Позже файл можно восстановить с помощью метода Open объекта Recordset или метода Execute объекта Connection.
Кроме того, метод GetString преобразует объект Recordset в форму, в которой столбцы и строки разделяются указанными символами.
Чтобы сохранить набор записей, начните с преобразования его в форму, которая может храниться в файле. Объекты recordset могут храниться в закрытом формате Advanced Data TableGram (ADTG) или в формате XML. Примеры ADTG приведены ниже. Дополнительные сведения о сохраняемости XML см. в разделе Сохранение записей в формате XML.
Сохраните все ожидающие изменения в сохраненном файле. Это позволяет выдать запрос, который возвращает объект Recordset , изменяет набор записей, сохраняет его и ожидающие изменения, а затем восстанавливает набор записей, а затем обновляет источник данных с сохраненными ожидающими изменениями.
Сведения о постоянном хранении объектов Stream см. в разделе Потоки и сохраняемость в главе 10.
Пример сохраняемости набора записей см. в статье Сценарий сохраняемости набора записей XML.
Пример
Сохранение набора записей:
Dim rs as New ADODB.Recordset
rs.Save "c:\yourFile.adtg", adPersistADTG
Откройте сохраненный файл с помощью Recordset.Open:
Dim rs as New ADODB.Recordset
rs.Open "c:\yourFile.adtg", "Provider='MSPersist'",,,adCmdFile
При необходимости, если набор записей не имеет активного подключения, можно принять все значения по умолчанию и просто закодируете следующее:
Dim rs as New ADODB.Recordset
rs.Open "c:\yourFile.adtg"
Откройте сохраненный файл с помощью Connection.Execute:
Dim conn as New ADODB.Connection
Dim rs as ADODB.Recordset
conn.Open "Provider='MSPersist'"
Set rs = conn.execute("c:\yourFile.adtg")
Откройте сохраненный файл с помощью RDS. DataControl:
В этом случае свойство Server не задано.
Dim dc as New RDS.DataControl
dc.Connection = "Provider='MSPersist'"
dc.SQL = "c:\yourFile.adtg"
dc.Refresh