A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Btrieveを使用したことがある者です。
10年近く昔の頃だということもあり、結構曲者でした。
さてさて、エラーメッセージがどのようなものか解れば
もう少し深い推測もできますが、
・ステップインではエラーは発生しない。
・OnErrorGotoに引っかかってくれない。
という現状からですと
1.エラーの発生は処理速度と何らかの因果関係がある。
2.OnErrorGotoはエラー発生時のジャンプ先を宣言するだけであり、
飛んだ先に何も処理が無いので単純にスルーしている。可能性有り?
のような材料が取り出せます。
でてくる推測は
「処理の実行速度が速すぎるため、Btrieve側の処理が追いつかない。
そのためVBAからの処理要求に対して『対応不能』の意味合いの
エラーを返している。」
というものです。
VBA側はシングルスレッドでもBtrieve側がマルチスレッドだと
発生しうります。
[VBA]オープンして [Btrieve]オープンするよ(と返事して、どっこいしょ・・・)
[VBA]じゃあ読んで [Btrieve]わぁ、まだ無理ぃ~~(エラーー!)
みたいなイメージでしょうか。
この材料から導かれる解決手順は、
1.全てのOnErrorGotoで飛んだ先にデバッグ用のダイアログ表示をいれる。
エラーの発生場所を掴むのが目的なので、AだBだとユニークなものを
表示させるものでOK。
2.コンマンドボタンを押下することで通過する処理を全てコメントにする。
(なので、一番最初は押しても無反応な状態となる。)
3.コメントを少しずつ解除していきながら疑わしき場所を狭めていく。
(この時、ステップインで実行してはいけない。)
4.いざBtrieveが悲鳴をあげた時はOnErrorGotoが捕まえる
(1.でいれたダイアログが表示される)はずなので、
今度はその部分が影響しない範囲のコメントを解除していく。
そのためOnErrorGotoに関連するコーディングはしっかりしておくこと。
4-1.Btrieveの処理が影響してコメント解除しにくい場合は、
・・・実行(F5?)とステップ実行(F8?)とブレークポイント(F9?)
を駆使して可能な限り捜索範囲を狭めていく。。。しかない。。。
5.実行速度だけの問題ならばSleepなどで対処する。
そうでないなら、、、さらに細かい情報を集めて
1・Btrieveのメーカーに問い合わせ。
2・改めてOKWeb(もしくは「教えてGoo」)する。
3・Btrieveの使用をあきらめる。
4・AccessからではなくVBからアクセスするようにする。
などなど
でしょうか。
デバッグモードとリリースモードの違いではエリア破壊の微妙な影響が
質問のような動きの違いとなることもありますが、
はたしてVBAでそのような事が発生するかどうかまでは。。。
続報お待ちしております。
この回答へのお礼
お礼日時:2005/02/23 19:28
ご回答ありがとうございます。
なかなか奥の深い問題のようですね・・・
今はちょっと時間がなくて調べられませんが、
時間があるときちょっと試してみようと思います。
詳しく回答して頂きましてありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- その他(ソフトウェア) 特定のpremiere proのファイルが開けなくなりました。 1 2022/11/16 12:31
- その他(ソフトウェア) 一太郎付属の”全件検索”ツールの不具合 3 2023/07/25 15:03
- Windows 10 ノートPCの「アップデートナビ」画面について 1 2023/07/04 21:27
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
ExcelVBA Range クラスの Page...
-
ADODB.Streamを使用してUTF-8を...
-
なぜこんな初歩的なVBAのIf文で...
-
Outlook.ApplicationをCreateOb...
-
エクセルエラー13型が一致しま...
-
vbaのvlookup関数エラー原因を...
-
プロシージャ名の取得
-
VBAがブレークモードになっ...
-
VB6 エラー「プロシージャの呼...
-
ExcelVBAで、ユーザー定義型は...
-
【Excel VBA】マクロをボタンに...
-
Excelで下記のようにマクロを作...
-
1列目の何行目に検索文字がある...
-
UWSCのビジー待ちで60秒経った...
-
DataGridView からの値取得に関...
-
トランスポートレベルのエラー
-
VBAの実行時エラー91!どうしよ...
-
VBからAccessへの接続でエラー
-
ExcelVBAでsortしようとしたと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
実行時エラー3001「引数が間違...
-
VBS実行時エラー オブジェクト...
-
VBAがブレークモードになっ...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
EXCEL VBAマクロ中断でデバッグ...
-
VBSで変数の宣言はできないので...
-
ADODB.Streamを使用してUTF-8を...
-
実行時エラー -'-2147417848
-
AccessVBAでExcelを起動し、罫...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
Application.ActiveInspectorで...
おすすめ情報