使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
> 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になることはありません。