- ベストアンサー
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
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Set rs = New ADODB.Recordset rs.Open strSql, cn, adOpenKeyset, adLockReadOnly 'フォームへ抽出レコードセット セット Set Forms!["このモジュールを実行しているフォーム名"].Form.Recordset = rs これでは如何でしょうか?
その他の回答 (2)
- tarosan11
- ベストアンサー率71% (5/7)
> 'ここに[rs]を入れられたらと思っています > Me.Recordset = "" Set Forms!["フォーム名"].Form.Recordset = rs これで如何でしょうか?
お礼
ご回答ありがとうございます。 試してみたところ、「レコードセット/Recordset プロパティにそのオブジェクトは使えません」というエラーになってしまいます。 もう少し試してみようと思います。 ありがとうございました。
一般的にそのような場合は、SQL文の CREATE VIEW を使用すると考えますが、何か不具合があるのでしょうか?
補足
ご回答ありがとうございます。 リンクテーブルを使っていないので、mdbファイル内にないテーブルを参照するSQL文をレコードソースに入れても「そのテーブルはないよ」と言われてしまいます。
お礼
お返事遅れてすみません。 出来ました。ありがとうございました。