• 締切済み

アクセス Me.Requeryでダウン

アクセス+VBAです。 Public Function sakujo() s = "DELETE FROM 予約TB WHERE 個人ID = 1 AND 予約科目= '算数'" CurrentDb.Execute s Me.Requery End Function のような関数を別フォーム[A]から Debug.Print Forms!フォーム1!サブフォーム1.Form.sakujo して呼出し使おうとしてます。 しかし Me.Requery のところで何のメーッセージも無くアクセス自体が終了してしまいます。 Me.Requeryで一時停止させてF5(実行の続き)をすると 「レコードは削除されています」 とメッセイージが出て、その後アクセス自体が終了です。 また、他フォーム[B]から呼出すと正常に動きます。 説明不足かもしれませんが、どうのような原因が考えられるでしょうか?

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

フォーム[A]の詳細等不明ですが・・。 モジュール内でDAOで削除するSQLの後Requeryするのではなくフォーム上のイベントでRequeryするとどうなりますか。 Public Function sakujo() CurrentDb.Execute "DELETE FROM 予約TB WHERE 個人ID = 1 AND 予約科目= '算数'" End Function としておいてDebug.Printで評価する際にRequeryさせた場合も終了してしまいますか。

situmonnsya
質問者

お礼

私のコードがヘボッてました。 [A]と[B]でRequeryする前にフィルタがかかってて、それぞれ違う見たかをしてたのが原因だったみたいです。 いつも、いつも、ありがとうございました。

situmonnsya
質問者

補足

いじってたら、フォーム[B]からも終了してしまいました。 ということは、やっぱりコードがまずいみたいです。 フォーム[A],[B]でCurrentDb.Execute 削除させた後 Debug.Printでメインフォーム側でRequeryさせても同じでしたが、一時停止させると 「”再クエリ”アクションを実行する前にカレントフィールドを保存する必要があります」 とメッセージがかえります。 もう少し考えてみますが、何かヒントがありましたらお願いします。

関連するQ&A