質問: アクセス フォーム上でのレコード抽出・ソート こんにちはアクセス2000で管理表をつくっています。 「工事マスタ」 工事id、顧客id、工事部門、契約日、請負額、追加額(以下略) 「顧客マスタ」 顧客id、顧客名(以下略) などがあり、工事マスタを基にクエリaを作成し、 それをコントロールソースにもつフォームaを作成しました。 フォーム上のボタンやテキストボックスで レコードの抽出(フィルタ)を行いたいのですが いろいろ調べてみましたが、初心者なもので どう手をつけていいのかわからず困っています。 やりたいことは 1)工事部門(1・2)で、(1)のみのレコードを表示する その検索方法をコンボボックスでつくりたい 2)発注者名で検索をかけ、該当するレコードのみを表示する その検索方法をテキストボックスでつくりたい 3)契約日のソートをかける実行ボタンを配置したい 4)「請負額」「追加額」にそれぞれ消費税を計算して、その合計額「請負額+追加額+請負税+追加税」の《総合額》を自動計算しています。 その《総合額》の¥●●●~¥●●●という範囲に値するレコードを抽出したい です。 説明が足りない部分もあるかと思いますが どなたかご存知の方お知らせくださいませ。 また、参考サイトなども教えていただけると助かります。 どうぞよろしくおねがいします。
回答: vbaですと・・・、 ●フィルタをかける場合 「filter」プロパティでフィルタ条件の設定(=指定)をします。 で、「filteron」プロパティでフィルタを適用/解除します。 ●並べ替えをする場合 「orderby」プロパティで並べ替え条件の設定(=指定)をします。 で、「filteron」プロパティでフィルタを適用/解除します。 以上をコマンドボタンのクリックイベントや テキストボックスの更新後処理イベントなどに書きます。 access filteron access orderbon などの語句でgoogle検索等すればいろいろとサンプルが出てきます。 ご参考にしてください。 http://www.mahoutsukaino.com/ac/ac2000/ac2000/kensakua/kensaku04.htm など。 >アクセスを全く知らない人が触るのと >フォーム上でどうにかしたいという上からの命令で >困っています。。 うーん、ということですと、なおさらフォーム上での右クリックがおすすめなんですが・・・(^^) 私なら以降のように上司に言ってしまって、できるだけ作りこみはしないです。面倒くさいから。 (01)右クリックの操作説明書を書いてまず上司の方にお見せします (02)実際に操作します。 (03)そして次のような説明をします。 この右クリック機能はすべてのaccessファイルで使える共通操作で、かつ、 一番効率よく、安く作れます(時間ゼロでタダで作れます)。 操作は簡単だから忘れても説明書見ればすぐに誰でも思い出せます。 また、無理に覚える必要はありません。 この操作説明書は全員にお配りしますので。 他の機能の追加では、込み入った作りこみが発生し、色々と面倒です。 もちろん作れといわれれば作りますが、結局色々と作りこんでも この機能以上効率の良い操作ができないケースも少なくないです。 もし、それでもよければ、「これとほとんどかわらない機能」を 時間をかけて作りますけど、本当にいいですか? という感じです。 で、それでも 「多少の時間(もしくは費用)がかかってもいい。やっぱり作ってくれ」と 上司がおっしゃるなら、作ります。 その際は前述のプロパティを使って、vbaでどのフォームからでも呼び出して使えるような汎用的なものを作成します。 抽出作業の頻度が少なければなおさら、accessのできあい機能を使います。 正直なところ、 「パソコン使うんだったらワイルドカードとbetweenと、 <、 >、#、""、''、 くらい使えるようになってくれよ。それだけでいいんだから。それだけ覚えてくれるだけで、どれだけ無駄な作りこみが減らせるかわからないよ。」 という思いにかられることも多いです(^^) 無駄話、誠にすみませんでした。 がんばってくださいね(^^)