- ベストアンサー
Access BetweenとLikeの組み合わせ方
- Access2000(初心者)のフォームで、指定日の範囲内にありつつチェックボックスが'No'ではないレコードを検索削除する方法について教えてください。
- 下記のコードを実行すると、実行時エラー'3061'が出てしまいます。どこを修正すれば良いでしょうか?
- CurrentDb.Execute "DELETE * FROM テーブル名 WHERE ([テーブル名].[日付] Between #2009/01/01# And #2009/02/02#) AND ((([テーブル名].[チェックボックス]) Like 'No'));"
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
tab1: ID_日付_______チェックボックス _1_2009/01/01_No _2_2009/02/02_Yes _3_2009/03/03_No [イミディエイト ウインドウ] ? CnnExecute("DELETE * FROM tab1 WHERE 日付 Between #2009/01/01# And #2009/02/02# AND [チェックボックス]=False") True tab1: ID_日付_______チェックボックス _2_2009/02/02_Yes _3_2009/03/03_Noo と、成功! ? CnnExecute("DELETE FROM tab1 WHERE ([tab1].[日付] Between #2009/01/01# And #2009/02/02#) AND ((([tab1].[チェックボックス]) Like 'Yes'));") True tab1: ID_日付_______チェックボックス _2_2009/02/02_Yes _3_2009/03/03_Noo と、失敗。 ? CnnExecute("DELETE FROM tab1 WHERE ([tab1].[日付] Between #2009/01/01# And #2009/02/02#) AND ((([tab1].[チェックボックス]) = True));") True tab1: ID_日付_______チェックボックス _3_2009/03/03_Noo で、成功。 と、チェックボックスをLike文でテストするのはミスです。 が、質問のエラーはテーブル名と列名が間違っていなければ出ないと思います。 まずは、実際のコードを示されたらどうでしょう。 まさか、[テーブル名]としているんではないでしょうから・・・。
お礼
>まさか、[テーブル名]としているんではないでしょうから・・・。 実際は[メインT]で恥ずかしながら過去に[テーブル名]にしたこともありました・・。 確かに実際のコードの方が間違いを把握しやすいですね^^; 次回からは実際のコードで質問します。 >チェックボックスをLike文でテストするのはミスです。 問題解決できました。有り難う御座います。