こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

投稿日時 - 2006-09-21 15:25:27

QNo.2421785

暇なときに回答ください

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

Set rs = New ADODB.Recordset
rs.Open strSql, cn, adOpenKeyset, adLockReadOnly

'フォームへ抽出レコードセット セット
Set Forms!["このモジュールを実行しているフォーム名"].Form.Recordset = rs

これでは如何でしょうか?

投稿日時 - 2006-09-29 08:49:28

お礼

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

投稿日時 - 2006-11-01 19:11:49

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

> 'ここに[rs]を入れられたらと思っています
> Me.Recordset = ""

Set Forms!["フォーム名"].Form.Recordset = rs

これで如何でしょうか?

投稿日時 - 2006-09-22 09:58:30

お礼

ご回答ありがとうございます。

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

投稿日時 - 2006-09-27 21:34:12

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

投稿日時 - 2006-09-21 15:35:00

補足

ご回答ありがとうございます。

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

投稿日時 - 2006-09-27 20:56:54

あなたにオススメの質問