解決済み

強制終了になってしまいます

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

お礼率 44% (39/88)

Windows98 ACCESS2000を使用しています。
よく強制終了になったり、"2486 現在このアクションは実行出来ません"などのエラーが頻繁に出て困っています。
削除をした後にエラーになる事が多いので、多分これが原因なのではと思います。
顧客情報フォームというメインフォームに、支店、事業概要、賃金…などの複数のタブがあり、それぞれにサブフォームとサブフォームに対して登録ボタンと削除ボタンが貼り付けてあります。

Private Sub cmd支店削除_Click()

Dim rs As DAO.Recordset

If Me!sub支店.Form.Recordset.recordcount = 0 Then
MsgBox ("削除するレコードはありません。")
Exit Sub
End If

Set rs = Me!sub支店.Form.Recordset.Clone
rs.Bookmark = Me!sub支店.Form.Bookmark

ret = MsgBox("表示中のレコードを削除します。よろしいですか?", _
vbOKCancel + vbQuestion + vbDefaultButton2, "削除")
Select Case ret
Case vbOK
rs.Delete
Me!sub支店.Form.Requery
Case vbCancel
End Select

rs.Close: Set rs = Nothing

End Sub

Private Sub cmd支店登録_Click()

If IsNull(Me!cbo顧客.Value) Then
MsgBox "顧客名を選択して下さい。"
Exit Sub
Else
DoCmd.OpenForm "F支店登録", acNormal
End If

End Sub
という風に書いてあるのですが、たくさんサブフォームがあるのでブックマークのつけ方がおかしいのでは?と思うのですがさっぱり分かりません。よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2

ベストアンサー率 59% (745/1260)

Accessのデータベースウィンドウが表示される状態で起動して
メニュー→ツール→マクロ→VisualBasic Editor
を起動させてメニューにあるデバッグのプルダウンメニューにそのデータベース名のコンパイルと表示されますのでコンパイルすれば断ち切れているイベントがメッセージと一緒に出てコンパイル出来ない記述がマーキングされます。
そのイベントが必要でなければ削除して修正が必要でなれば修正して再コンパイルしていけば不必要な記述は除いていけます。
補足コメント
t-tomo

お礼率 44% (39/88)

コンパイルは終了しました。
でもやはり削除を繰り返すと突然、「現在実行しているコードはリセットされます」というエラーメッセージが出て、強制終了になってしまいます。

タブの中にサブフォームが2つあったりするので、もしかするとどのレコードを削除すればいいのか判断出来ていないのでしょうか?
投稿日時 - 2002-06-25 15:51:42
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全2件)

  • 回答No.3

ベストアンサー率 77% (132/170)

よくわかりませんが
>Me!sub支店.Form.Requery
もし関連するサブフォームがあるなら全てRequeryする必要があるんじゃないでしょうか。
補足コメント
t-tomo

お礼率 44% (39/88)

お返事ありがとうございました。
いろいろとしてみたのですが、やはり駄目でした。
強制終了になるのは、タブにサブフォームが2つ以上表示している場合になっていると思われるので、もしかしたらサブフォームのデータをクリックしないで、削除ボタンをクリックしたために、どのレコードがカレントレコードなのか判断できずにエラーになっているのでは?と思ったのですが、削除ボタンをクリックした時にどのサブフォームにフォーカスがあって、カレントレコードがどれなのか分かる方法はあるでしょうか?
投稿日時 - 2002-06-26 15:22:43
  • 回答No.1

ベストアンサー率 59% (745/1260)

削除によってメソッドやデータメンバが途切れている状態なのではないでしょうか?
一度全てコンパイルしてみてはどうでしょう。
補足コメント
t-tomo

お礼率 44% (39/88)

お返事ありがとうございます。
>一度全てコンパイルしてみてはどうでしょう。
コンパイルの仕方がどうしたらいいのかよく分からないのですが、よろしければ教えて頂けないでしょうか?
投稿日時 - 2002-06-25 12:46:45
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

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

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ