クエリで抽出したものに日付を入力して更新したい
素人質問です。よろしくお願いします。
クエリで発注データを抽出し、それに対して入荷日などを入力し更新したいのですが、今の状況だとbefore updateなどで設定して更新しますか?とメッセージを出していますが、
たとえば5件抽出して5件入力が終わったところで「変更データがあります。更新してもよろしいですか?」とメッセージを出して更新するかしないか…と進めたいのですが、どうしていいかわかりません。
助けてください!よろしくお願いします。
回答(3件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
#1です。
フォームをリクエリーしてください。
そうすれば、フォームに内容が最新のものに更新されるのできれいになります。
この回答へのお礼
できました!
いろいろとありがとうございました。
本には載っていないことだらけなのですごく助かりました。
No.2ベストアンサー10pt
僕ならこうするかなぁ~って風に受け取って下さい。
入力・変更を必要とするコントロールの他にフラグを立てるためのコントロールを用意し
更新後処理でフラグを立てる(例えばYes/Noコントロール等を値の代入で)
フォームを閉じようとした時にフラグの数を数え、ゼロでなければ更新日の値を
今日に変更するかどうかのメッセージを表示し、Yesであれば更新クエリーで
フラグが立っているデータの日付を今日に更新し、更新後フラグを消す更新クエリーを
実行する。
こんな感じなら一件毎ではなく、入力したデータを一括して更新できるのではないでしょうか?
参考にならなければ忘れてください(笑)
この回答へのお礼
何とか苦戦していますが…。とりあえずもうちょっとがんばってみます。ありがとうございました
No.1ベストアンサー20pt
ご存知かと思いますがAccessの場合は、データを変更して別の行へ移動した段階で更新されてしまいます。
従って普通にやってもご希望の動作は出来ません。
常道なのは以下の方法かと思います。
1.発注データと同一レイアウトのワークテーブルを作ります。
2.クエリで抽出する前にこのワークテーブルを削除します。
3.クエリで抽出されたデータをワークテーブルに追加します。
4.フォームで変更させるのはこのワークテーブルにします。
5.ボタンを押した後に、ワークテーブルをもとに発注テーブルを更新します。
ただしマルチユーザー環境だと、ユーザーごとにワークテーブルが必要になってくるので、コンピュータ名などをキーに加えることが必要になります。
この回答へのお礼
ありがとうございます。
参考にさせていただいていますが、2番のワークテーブルを削除して、その後追加すると、フォームに表示されるのがDELETE…とたくさん出て正しく表示できません。
表示する前に削除追加クエリを実行するのはどのようにしたらよいですか?
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











