• ベストアンサー

ADOでRecordsetオブジェクトをレコードソースに設定したい

Access2000を使っています。リンクテーブルを使わずに、ODBCで繋いだDBのテーブルをフォームのレコードソースにセットしたいのですが、可能でしょうか。 宜しくお願いします。 Private Sub FormNoKansu() Dim cn as New ADODB.Connection Dim rs as New ADODB.Recordset Dim strSql as String 'ODBCでサーバーに接続 cn.ConnectionString = "ODBCでMySQLに..." ... strSql = "SELECT * FROM ..." rs.Open strSql, cn 'ここに[rs]を入れられたらと思っています Me.Recordset = "" End Sub

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

Set rs = New ADODB.Recordset rs.Open strSql, cn, adOpenKeyset, adLockReadOnly 'フォームへ抽出レコードセット セット Set Forms!["このモジュールを実行しているフォーム名"].Form.Recordset = rs これでは如何でしょうか?

koppepan7732
質問者

お礼

お返事遅れてすみません。 出来ました。ありがとうございました。

その他の回答 (2)

回答No.2

> 'ここに[rs]を入れられたらと思っています > Me.Recordset = "" Set Forms!["フォーム名"].Form.Recordset = rs これで如何でしょうか?

koppepan7732
質問者

お礼

ご回答ありがとうございます。 試してみたところ、「レコードセット/Recordset プロパティにそのオブジェクトは使えません」というエラーになってしまいます。 もう少し試してみようと思います。 ありがとうございました。

noname#182251
noname#182251
回答No.1

一般的にそのような場合は、SQL文の CREATE VIEW を使用すると考えますが、何か不具合があるのでしょうか?

koppepan7732
質問者

補足

ご回答ありがとうございます。 リンクテーブルを使っていないので、mdbファイル内にないテーブルを参照するSQL文をレコードソースに入れても「そのテーブルはないよ」と言われてしまいます。

関連するQ&A