AccessVBAの処理落ちで困っています。
開発環境は
Office 2003 Access
OSはWindowsServer2003 Standard Edition(VM Ware上で稼働)、データベースは別に用意したAccess2003MDBファイルです。
処理概要は
データベース上の業務データが登録されているテーブル(以後テーブル1と呼ぶ)のデータ(主キー)を元にデータベース上の商品単価が登録されているマスタテーブル(以後マスタ1と呼ぶ)のデータを抽出し、テーブル1に金額をセットするものです。
業務データは月毎に約4000件存在します。
金額のセット処理はレコードセットを用い、テーブル1の該当する月のデータ件数分繰り返し行います。
テーブル1の金額フィールドにテーブル1のデータを主キーとして用い、マスタ1の該当する金額を抽出し、セットしなければならないのですが、金額が正しく登録されている物と全く違う金額が登録されている状態が発生しています。
テストデータは
例:2009年4月分のデータのみ(テーブル1、マスタ1共に)
という状態でテストしています。
作成したソースコードをチェックしてみましたがロジック上は
何処にも異常は見当たりません。
ループの中でソースコードの命令外の処理が行われているようにしか思えません。
説明が分かり辛ければ申し訳ありません、ご指摘頂ければ補足します。
どなたかこの現象についてご存じの方はご教授願えませんでしょうか?
どうか宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
Access のバグという可能性は・・・クエリ文なども含めて、
msdn.microsoft.com
で調べるというのもありかとおもいます。
1.まずは手元で再現させて、再現する場合としない場合を見つける
これに尽きます。
そこから、あやしそうなところをデバッグすればよいです。
コードだけみていてもダメです。
複数ユーザでアクセスしたときに再現するとか、、
ある特定のクライアントマシンで再現するとか、、
No.1
- 回答日時:
Accessで落ちることはよくあることですが、原因はほとんどがプログラムミスです。
ソースコードのチェックでロジック上異常がないとのことですが、1ステップづつ実行して変数やテーブルのフィールドの値を確認しながらチェックしたにもかかわらず突然金額フィールドの値が変わったのでしょうか。
もしそうなら、申し訳ありませんが分かりかねますので以下は無視してください。
そうでなければ、デバッグの仕方を工夫してみてはどうでしょうか。
まずは現象をはっきりさせることが必要です。
・すべてのデータの金額フィールドが変わるのか、特定のデータだけ変わるのか、それとも実行するごとに変わるデータが変化するのか。
金額フィールドが変わるデータが判明したら、ソースコードのどのステップで変わるかを調べます。
・ソースコードの特定のステップで金額フィールドが変わるのか、それとも不定(処理ごとに違うステップで変わる)なのか。
データ量が多い場合は、極端に減らしてからデバッグしてみてください。
特定のステップで金額フィールドが変わる場合は、プログラムミスかAccessのバグかは分かりませんが、その箇所のコードが原因ですので別のロジックに変えれば直るかもしれません。
そうでなければお手上げです、申し訳ありません。
あと、ご存知とは思いますが、Accessはイベント駆動型のプログラム言語です。
ですので、思ってもいないところで予想外の処理が実行されることが多々あります。
たとえば、ある処理のあるステップを実行した直後、その次のステップを実行する前に別の処理が実行されることがあります。
特にデータベースを操作している場合や画面の操作をしている場合に多いです。
デバッグする際は、いま現在どの処理が実行されているのかを常に監視しておく必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ナンバーディスプレイとポップ...
-
読み取ったQRコード/バーコード...
-
EXCELでバーコードを作成すると...
-
バーコードってダブらない?
-
バーコードコントロールが印刷...
-
差し込み印刷のバーコードを小さく...
-
Excelでバーコードリーダーで読...
-
エクセル バーコード作成で他の...
-
ANAの2次元バーコードがスマホ...
-
VBA リストボックス反映できない
-
ガラケー携帯(カメラ付き)で...
-
四次元バーコード
-
国内線航空券をJALのアプリにて...
-
NECバーコードリーダー PK-UP0...
-
Excelの Microsoft バーコード...
-
Access2016Runtimeをインストー...
-
会社のPCに入っているExcelでバ...
-
レシートにバーコード
-
振込請求書が破れてしまいました
-
テプラ PRO SR530 バーコード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ホストとオフコンの違い
-
商蔵奉行 エクセルによる汎用...
-
iタウンページの電話番号や住...
-
バッファって何ですか?
-
新住所をカーナビに掲載したい
-
大規模言語モデルは今後どのよ...
-
Accessは、職場で必要な...
-
Access2007:フォームからに誤っ...
-
400列ほどの固定長テキスト...
-
個人のプライバシーの面からし...
-
気になっているバイトの求人な...
-
QRコードでの入出管理をしたい
-
コンサル会社でのデータアナリ...
-
JAN、価格、売れ行き この3情報...
-
前々年実績と前年実績の伸び率...
-
エクセルを使用した大量データ...
-
Access VBA 処理 落ち 不具合
-
ネットでのデータDL販売をし...
-
シーケンサーとパソコンの接続
-
タウンページより詳しい業種別...
おすすめ情報