ADODB RecordSet как доступ к отчету RecordSource - PullRequest
7 голосов
/ 15 ноября 2010

У меня есть простая форма, запрос и отчет в Access 2003. Мне нужно манипулировать результатами запроса в наборе записей, используя VBA, а затем передать его в отчет как его RecordSource.

Если я объявляю набор записей как RecordSet и использую его свойство Name в качестве RecordSource отчета, то он работает. Однако, поскольку мне нужно отредактировать набор записей, мне было бы проще использовать ADODB RecordSet, как показано ниже.

Набор записей объявлен как Dim rs As ADODB.RecordSet в глобальном модуле. Остальная часть кода:

Dim db As Database
Set db = CurrentDb
Dim con As ADODB.Connection
Set con = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = con
rs.Source = "Select * from XXX"
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset
rs.Open

'manipulate rs here....'

Я использовал для передачи RecordSource отчета myReport.RecordSource = rs.Name. Но у ADODB нет свойства Name.

Как передать этот набор записей в отчет в качестве его RecordSource?

Спасибо

Ответы [ 2 ]

5 голосов
/ 15 ноября 2010

Вы не можете привязать отчет к набору записей ADO в mdb, только в adp: http://support.microsoft.com/?id=287437

0 голосов
/ 15 ноября 2010

У меня нет копии Access 2003, но из памяти вы просто делаете

Set Me.Recordset = rs

Только что посмотрел на Microsoft KB, и похоже, что моя память все еще работает!

http://support.microsoft.com/kb/281998

...