ADODB-RecordSet als Access-Bericht RecordSource

Ich habe ein einfaches Formular, einer Abfrage und einem Bericht in Access 2003. Ich habe zu manipulieren, die Ergebnisse aus der Abfrage in ein recordset über VBA und dann geben Sie auf, um den Bericht als Datenherkunft.

Wenn ich erkläre das recordset als RecordSet und verwenden Sie seine Name-Eigenschaft, wie die Datenherkunft des Berichts, dann ist es arbeiten. Da ich jedoch Bearbeiten müssen das recordset-ich dachte, es wäre einfacher zu verwenden, ein ADODB-RecordSet als unten.

Rekorde ist deklariert als Dim rs As ADODB.RecordSet in ein globales Modul.
Der rest des Codes ist;

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....'

Ich verwendet, um die Datenherkunft für den Bericht als myReport.RecordSource = rs.Name.
Aber die ADODB nicht über eine Name-Eigenschaft.

Wie kann ich den pass dieses recordset dem Bericht als Datenherkunft?

Dank

  • Warum Sie denken, Sie haben, dies zu tun? Warum kann man nicht einfach die Datenherkunft im Bericht BeimÖffnen-Ereignis?
  • Ich bin eigentlich auf der Einstellung der Eigenschaft RecordSource des Berichts auf dem report-open Ereignis, aber es erfordert den Namen des Datensatzes und ADODB-Recordset nicht über eine name-Eigenschaft.
  • Ich sage nicht, verwenden Sie ein recordset-nur legen Sie die SQL der Recordsource-Eigenschaft die SQL, die Sie verwenden, um öffnen Sie das recordset. Wenn es einigen Grund, die nicht arbeiten, ich sehe es nicht. Das ist die standard-Weg, dies zu tun, anstatt das Recordset des Berichts (das ist etwas habe ich noch nie benötigt zu tun, in all meinen Jahren der Zugriff auf die Programmierung für ein Leben).
  • für was es Wert ist es gibt Zeiten, möchten Sie vielleicht, dies zu tun -, wenn Sie brauchen, um zu bauen eine TSQL-pass-through-Abfrage (zum aufrufen einer gespeicherten Prozedur) und legen Sie das recordset des Berichts zu, dass.
InformationsquelleAutor Sivakanesh | 2010-11-15
Schreibe einen Kommentar