
VB6 と ACCESS97 でソフト開発をしています。
フォームに DBGrid を配置し、クエリの結果を表示させていますが、
多くの場合に「実行時エラー '3167' レコードは削除されています。」の
エラーが出ます。(出ないときもあります。)
どなたか、このエラーを回避する方法を教えて下さい。
以下は、コーディングの一部です。
Data1.DatabaseName = MDB_Path & "株.mdb"
'------ クエリのセット ------------------------------------------------
Set MyQuery = dbs.QueryDefs("連結決算Q")
SQL = "SELECT 決算チェックT.銘柄CD, [当日株価T].銘柄名, [当日株価T].市場"
++++++ 途中略 ++++++++++++++++++++++
SQL = SQL & " 決算チェックT.銘柄CD;"
MyQuery.SQL = SQL
Set tbl = dbs.OpenRecordset(SQL)
銘柄CD(1) = tbl!銘柄CD: 市場(1) = tbl!市場
'------ チャート(小、1年)の取得と表示 ---------------------------------
++++++ 途中略 ++++++++++++++++++++++
Image1.Picture = LoadPicture(F_Name)
DoEvents
'--- 株価の取得 -------------------------------------------------
GetURL = " http://quote.yahoo.co.jp/q?s=" & 銘柄CD(1) & "&d=v6"
Inet1.RequestTimeout = 15
Inet1.Execute GetURL, "GET": DoEvents
tbl.MoveLast: データ数(1) = tbl.RecordCount
tbl.MoveFirst
Data1.Caption = Space$(25) & "決算チェック銘柄数 " & データ数(1) & "銘柄"
Check_1:
Data1.RecordSource = "00#連結決算表示Q"
For K = 1 To 300: For J = 1 To 3000: DoEvents: Next J: Next K
'〓〓〓〓 ここでエラーが出る 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
Data1.Refresh:
Call DBGrid(1)表示整形
DBGrid1.Refresh
If データ数(1) <> Data1.Recordset.RecordCount Then
For K = 1 To 1000: DoEvents: Next K
GoTo Check_1
End If
No.1ベストアンサー
- 回答日時:
「時間待ち」の為に「空ループを回し、その中にDoEventsを入れる」のが間違いです。
もし、ボタン押下など、イベントに拠って呼ばれるプロシジャ内で、こういう時間待ちをしていると、マニュアルにも書いてあるように
「もう一度同じプロシージャが呼び出され、実行結果が不定になる」
と言う事が起きます。
http://homepage2.nifty.com/kasayan/vba/doevents. …
プログラム中の「DoEventsを完全にすべて排除」し、代わりに
Application.Wait(Now + TimeValue("0:00:10"))
など、WaitメソッドかSleep関数を使用しましょう(上記の例は「10秒待つ」です)
「DoEventsを完全にすべて排除」しない限り、そのエラーは抑止出来ません。
因みに「OnError Gotoでエラーハンドリングを行なう」事で「エラーが起きている事を隠す」ことは出来ますが「実行結果が不定で、システムが不安定になり、いつ、何が起きるか判らない」のは変わりません。
残念ですが「DoEventsを使っている限り、客先に提供可能なプログラム品質は確保出来ない」と思って下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 投資・株式の税金 一般口座で同一銘柄の総平均法のことで 1 2023/02/27 22:08
- 株式市場・株価 日本株の個別銘柄の事ですみません。 本日14時に決算発表した 機械のオルガノですが、決算内容まずまず 4 2023/02/01 15:53
- 日本株 楽天RSS2での移動平均の取得について 1 2022/07/28 21:48
- 日本株 【郵政グループの株式上場】日本郵政、日本郵政の完全子会社の日本郵便、郵便局、ゆうちょ銀 2 2023/03/14 22:00
- 株式市場・株価 株価検索 2 2022/05/14 10:39
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(資産運用・投資) トンチン年金か高配当銘柄投資か 1 2022/04/10 10:59
- 株式市場・株価 株価表示 5 2022/05/21 13:43
- 株式市場・株価 株取引をするにあたり、銘柄選びに有効な方法はどんなやり方が有りますか? とにかく3000余りも銘柄が 1 2023/01/13 16:20
- 株式市場・株価 株 7 2022/06/11 11:52
このQ&Aを見た人はこんなQ&Aも見ています
-
ショボ短歌会
ひどい短歌を詠んでください。
-
【お題】動物のキャッチフレーズ
【お題】「百獣の王 ライオン」「実は動物界最強 カバ」は分かるけど、それはちょっとピンと来ないなと思った動物のキャッチフレーズ
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
Access VBA Me.Requery レコードは削除されています エラー
その他(データベース)
-
Access「レコードが削除されました」のエラー
Access(アクセス)
-
レコード削除時に(サブ)フォームに表示される#Deleted"について"
Access(アクセス)
-
-
4
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
5
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
6
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
7
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
8
Access レコード削除時に「カレントレコードがありません」エラーが表示されてしまう
Access(アクセス)
-
9
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
10
アクセス 壊れた? 「ファイルが見つかりません」
Access(アクセス)
-
11
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
12
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
13
ACCESSのサブフォームからメインフォームへの移動
Access(アクセス)
-
14
現在アクティブなタブのページ名を取得したい
Access(アクセス)
-
15
Microsoft Access 2016でエラーが出る
Access(アクセス)
-
16
accessでlaccdbファイルが削除できずファイルが使えない
Access(アクセス)
-
17
ACCESSでテーブルをコピーしようとすると3211のエラーが出てしまう
Access(アクセス)
-
18
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
19
アクセスのレポートでレコード数をカウントしたい
その他(データベース)
-
20
ACCESSでコントロールソースの変更
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
ApplicationとWorksheetFunctio...
-
String""から型'Double'への変...
-
マクロで"#N/A"のエラー行を削...
-
お助けください!VBAのファイル...
-
.VBSだとADODBのプロバイダが見...
-
Access クリップボードにデータ...
-
アクセス イメージコントロー...
-
Excel VBA 複数ブックシートご...
-
VBA データ(特定値)のある最...
-
Filter関数を用いた結果、何も...
-
VBAのSelectedIndexでコンパイ...
-
html5 エラー
-
Microsoft VB Script 実行事エ...
-
VBA GoTo Error 処理が上手くい...
-
python初心者です。
-
InvalidCastExceptionエラーが
-
VBAでfunctionを利用しようとし...
-
ASP.NETのサーバー移行に伴うエ...
-
unityの教科書のゲームを作って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
Excel vbaについての質問
-
On ErrorでエラーNoが0
-
String""から型'Double'への変...
-
実行時エラー 438 の解決策をお...
-
VBA データ(特定値)のある最...
-
【VB.NET】 パワポ操作を非表示で
-
ApplicationとWorksheetFunctio...
-
Filter関数を用いた結果、何も...
-
【VBAエラー】Nextに対するFor...
-
ACCESSで値を代入できないとは?
-
【Access】Excelインポート時に...
-
VBでSQL文のUPDATE構文を使った...
-
「実行時エラー '3167' レコー...
-
オブジェクト型の変数にフォー...
おすすめ情報