レコードセットの"

解決


juice  2003-01-24 13:26:12  No: 105918  IP: [192.*.*.*]

よく出るエラーで、解決しないままでいたものです。
データベースを開いて、以下のレコードセットを実行すると
Set Pattern = lc_dbNTJ.OpenRecordset(strSQL, dbOpenDynaset)
"型が一致しません"
というエラーがでます。
これって、SQL文エラーではないですよね?
Public lc_dbNTJ As Database
Set lc_dbNTJ = DBEngine.Workspaces(0).OpenDatabase(gb_strDBName)
Dim Pattern As Recordset
と宣言しているのですが。

編集 削除
Say  2003-01-24 14:16:51  No: 105919  IP: [192.*.*.*]

>Dim Pattern As Recordset

Dim Pattern As DAO.Recordset

とか?

編集 削除
t@Ki  2003-01-29 19:47:36  No: 105920  IP: [192.*.*.*]

SQL文はどのなものですか?

編集 削除
juice  2003-02-10 16:31:19  No: 105921  IP: [192.*.*.*]

SQL文= "select PatternName  from 表示パターン"
このようなものです。
参照設定をいじると直るときがありますが、はっきりしていないので
断言できません。
今はDAO3.6object libraryを設定して動いています。

編集 削除
juice  2003-03-11 11:55:25  No: 105922  IP: [192.*.*.*]

Sayさんのおっしゃるように
Dim Pattern As DAO.Recordset
にしたら、型が一致しませんというエラーは出なくなりました。
Sayさん、t@Kiさんありがとうございます。
でも、何故?

編集 削除
nanashi  2003-03-11 12:04:55  No: 105923  IP: [192.*.*.*]

参照設定の中でDAO以外のRecordsetというオブジェクト持つライブラリを指定してませんか?
例えばADOとか。
その場合、どのライブラリのRecordsetオブジェクトなのかを
明示的に指定しないとエラーが起こることがあります。

上記の場合に限らず、ライブラリを明示的に指定する癖をつけたほうがいいと思いますが。

編集 削除
juice  2003-03-11 13:31:35  No: 105924  IP: [192.*.*.*]

nanashiさん、なるほどです。
確かにADO2.1も設定していました。
ありがとうございます。

編集 削除