- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:access vb の検索をする命令でエラー)
Access VBの検索をする命令でエラー
このQ&Aのポイント
- Access VBの検索をする命令でエラーが発生しています。テスト用データではエラーが出ないが、本番切り替え時にエラーが出ることがあります。
- エラーの原因は不明ですが、動作環境はWinXP、WinVista、Win7でAccess 2003とAccess VBで構築したDBです。
- 具体的なエラーメッセージは「実行時エラー’3265’。要求された名前、または序数に対応する項目がコレクションで見つかりません」となっており、エラー箇所は「rs2.Find criteria, 0」です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> テストを終え本番切り替え時にエラーが出る。 テスト環境と本番環境をどう区分け・切り替えされているのか、非常に気になりますね。 テスト環境と本番環境のテーブル[講座開始日時テーブル]の内容を 比較・確認できないのですか?
その他の回答 (1)
- MARU4812
- ベストアンサー率43% (196/452)
回答No.1
> 講座コード = rs2!講座番号 ’データ検索OK 講座開始日時テーブル に 講座コード が無くて 講座番号 があるように見える。 この時点でテーブルの項目名の統一が出来ていない不具合満載プログラム臭くて 私は関わりたくないですね。 > 要求された名前、または序数に対応する項目がコレクションで見つかりません。 まずはエラーメッセージ通りの不具合が起こったと思って確認すべきでしょう? コレクション(rs2)の中身を検証するようなテストコードを書いて確認するのが普通。 フィールドインデックス指定でカラム名を出力して、単純なスペルミスなどが無いか 確認したの?
質問者
お礼
詳細な解説有難うございました。 原因は criteria = "講座コード4 ='" & 講座コード4 & "'" をコーディングしてテストを繰り返していましたが エラーが出てテストをしている間にフィールド名称が何故か 講座コード(講座名) ⇒ 講座コード4 に自動的に変換 されてしまい テストではうまく作動するようになっていました。 正しくはフィールド名称が カッコ付きで次のように criteria = "講座コード(講座名)='" & 講座コード(講座名) "'" とすべきですがではうまく作動しないようです。 原因が分かりましたのであとは何とか対処できると思います。 本当にありがとうございました。
お礼
ありがとうございました。 「テスト環境と本番環境のテーブルの内容を比較・確認できないのですか」 と言っていただき、本番のDBとテストのDBの問題の個所の項目名(フィールド名) を比較したところテストの項目名が変更されていました。 本番のソフト・データを全てコピーしてテストを開始していましたが、 何回も問題の個所で止まってしまい原因がわからないまま思考錯誤をして いる間に、変更されていました。 criteria で使用する名称に()付の名称がつけてありましたがcriteriaでは 使用できないことが判明し()付の名称を修正し全て解決できました。 適切なアドバイス本当にありがとうございました。