解決済み

access vb の検索をする命令でエラー

  • すぐに回答を!
  • 質問No.7335989
  • 閲覧数1261
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 75% (3/4)

access vb の criteria を使用してデータ検索をする命令の箇所でエラーが出る
(テスト用データではエラーが出ない)

  テストを終え本番切り替え時にエラーが出る。
  動作環境はWinxp,winvista、win7 access2003とaccessvbで構築したdb
  
  実行時エラー’3265’もどこを見て原因があるかも不明です


    (Accessデータベースを検索するためAccessのフォームにある
Access vbの、(1)ロジックと、(2)エラー表示の内容)
(1)ロジック
     rs2.Open "講座開始日時テーブル",cx,adOpenKeyset,adLockOptimistic
 criteria = "講座コード ='”& 講座コード & "'"   ’講座コードの属性は string
     rs2.moveFist
     rs2.find critera, 0    ’<- この命令のところでテスト用プログラムでは
                   ’エラーがでないのに、本番用プログラムでは
                   ’以下のエラーが出て原因が把握できない状態です 
     Do Until rs2.EoF                
If rs2.EOF Then
講座番号確認区分 = "エラー"  ’エラー表示
GoTo enda
Else
講座コード = rs2!講座番号    ’データ検索OK
         GoTo XXX
 Endif
     Loop

(2)エラー表示
 |ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 |Microsoft Visual Basic
 | 実行時エラー’3265’
 | 要求された名前、または序数に対応する項目がコレクションで見つかりません。
 | 
 | 
 | 継続  終了(E)  デバッグ(D)  ヘルプ(H)
 |ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

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

  • 回答No.2

ベストアンサー率 33% (1403/4213)

> テストを終え本番切り替え時にエラーが出る。
テスト環境と本番環境をどう区分け・切り替えされているのか、非常に気になりますね。

テスト環境と本番環境のテーブル[講座開始日時テーブル]の内容を
比較・確認できないのですか?
お礼コメント
yama3ry

お礼率 75% (3/4)

ありがとうございました。
 
 「テスト環境と本番環境のテーブルの内容を比較・確認できないのですか」 

と言っていただき、本番のDBとテストのDBの問題の個所の項目名(フィールド名)
を比較したところテストの項目名が変更されていました。
 本番のソフト・データを全てコピーしてテストを開始していましたが、
何回も問題の個所で止まってしまい原因がわからないまま思考錯誤をして
いる間に、変更されていました。
 criteria で使用する名称に()付の名称がつけてありましたがcriteriaでは
使用できないことが判明し()付の名称を修正し全て解決できました。
 適切なアドバイス本当にありがとうございました。
投稿日時 - 2012-03-08 22:25:58
感謝経済

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 43% (196/452)

> 講座コード = rs2!講座番号    ’データ検索OK
講座開始日時テーブル に 講座コード が無くて 講座番号 があるように見える。
この時点でテーブルの項目名の統一が出来ていない不具合満載プログラム臭くて
私は関わりたくないですね。

> 要求された名前、または序数に対応する項目がコレクションで見つかりません。
まずはエラーメッセージ通りの不具合が起こったと思って確認すべきでしょう?
コレクション(rs2)の中身を検証するようなテストコードを書いて確認するのが普通。
フィールドインデックス指定でカラム名を出力して、単純なスペルミスなどが無いか
確認したの?
お礼コメント
yama3ry

お礼率 75% (3/4)

詳細な解説有難うございました。
 原因は criteria = "講座コード4 ='" & 講座コード4 & "'"
  をコーディングしてテストを繰り返していましたが
エラーが出てテストをしている間にフィールド名称が何故か
  講座コード(講座名) ⇒ 講座コード4 に自動的に変換
  されてしまい テストではうまく作動するようになっていました。 
 正しくはフィールド名称が カッコ付きで次のように
  criteria = "講座コード(講座名)='" & 講座コード(講座名) "'"
 とすべきですがではうまく作動しないようです。 

 原因が分かりましたのであとは何とか対処できると思います。
本当にありがとうございました。
投稿日時 - 2012-03-03 08:08:49
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数によるOK-チップ配布スタート!

ピックアップ

ページ先頭へ