次の方法で共有

recordset2とadoについて

Anonymous
2014-06-25T14:07:08+00:00

Access2010についてお尋ねします。

Form内モジュールにおいて、

dim rs as new adodb.recordset

(中略)

set rs=me.recordset・・・・・A

(略)

というコードを作成して実行したところ、

Aの部分で「型が一致しません」というエラーが出ます。

ローカルウィンドウで確認すると、

me.recordsetのデータ型が「recordset2」となっており、Access2003以前ではなかった

新しいデータ型であることは分かり、変数とのデータ型が一致しないことによるエラーであること

も理解しています。

また、MSDNのAccessのヘルプなどから、DAOでは、このrecoedset2を新しくサポートしていることも

分かりました。

ただ、ADOでこのrecordset2をサポートしているのかどうかが、いくら調べても判明しません。

もしかして、ADOではこのrecordset2はサポートしていないのでしょうか?

社内でAccessをもちいて多数のDBシステムを開発してきましたが、その際にADOを用いてきたこともあり、

できればADOを使い続けたいのです。

ご存知の方がおられれば、教えていただけませんでしょうか?

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-06-26T02:09:47+00:00

    > me.recordsetのデータ型が「recordset2」となっており、

    > Access2003以前ではなかった新しいデータ型であることは分かり、

    > 変数とのデータ型が一致しないことによるエラーであることも理解しています。

    それこそがその実行時エラーの原因の全てであって、

    仮にフォームのRecordsetプロパティによって返される

    オブジェクトの型が DAO.Recordset であっても同じことです。

    実行環境が Access 2003 でも同様の結果になるでしょう。

    [レコードソース]プロパティに何らかのテーブル名/クエリ名/SQLステートメントが

    設定されている連結フォームの場合、その Recordset プロパティが返すオブジェクトの型は

    mdb/accdb ファイルなら DAO.Recordset(Recordset2) オブジェクト、

    adp ファイルなら ADODB.Recordset オブジェクトです。

    前者の場合、逆に ADODB.Recordsetオブジェクトを

    フォームの Recordset プロパティ に参照渡しするコードを

    自前で実行するようにしない限り、そのフォームのRecordset プロパティの

    返すオブジェクトの型がADODB.Recordsetになることはありません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません