Microsoft Access 掲示板

パススルーで直接レポートにデータを表示したい / 2

4 コメント
views
4 フォロー
2
すずやん 2022/07/26 (火) 08:53:25

ご回答ありがとうございます。
なるほど、可能ではあるのですね。それが分かっただけでも嬉しいです。

フォームで表示させる場合はおおよそ以下のような感じです。
ADODBパススルーを行い、レコードセットを取得、「Me.Recordset」でフォームのレコードセットに受け渡し、これを表示させます。
これと同じ内容をレポートで行った場合、空欄になって表示できませんでした。

おそらくレポートでは「Me.Recordset」ではだめなのかと考えたのですが、結局実現できませんでした。


'接続用のクラスです
Dim db As DataBaseAccess

Dim mySQL As String
Dim rs As ADODB.Recordset

'データベースの接続処理
Set db = DatabaseFactory.creater
db.connect

'実行するクエリの文字列をセット。
mySQL = "SELECT " & _
"[取引先マスタ_ID] , [取引先コード], [取引先名]" & _
" FROM [dbo].[取引先マスタ]"

'実行してレコードセットに格納します。
Set rs = db.execute(mySQL)

'ここでデータソースに取得したDBの結果をセット
Set Me.Recordset = rs

'オブジェクト変数を終了、破棄します。
rs.Close
db.disconnect
Set rs = Nothing
Set db = Nothing

通報 ...