- ベストアンサー
Accessで、最後(更新)にエラーチェックをしたい。
Accessで、最後(更新)にエラーチェックをしたい。 入門を見ながら、サブフォームのあるフォームを作りました。 エラーチェックのため、テーブルの入力規則を設定しました。 実際に使用が始まると・・・ サブフォームから入力したり、またサブフォームも、すべて入力が終わらないのに、 次の行に入力したりと、私の予想外の使い方をします。 そこで、入力規則をなくしました。(わがままが多いので) すると、記入漏れが発生しました。 そこで質問ですが、レコードの更新時に、フォームの必修項目のエラーチェックすることは可能でしょうか? よろしくお願いします。
- みんなの回答 (12)
- 専門家の回答
質問者が選んだベストアンサー
#7です ご迷惑をおかけしております。 #6の先頭で書いた、(私の中での神様的存在の一人) (Access使われている方なら実践小技の大家とでもいいますか・・・) の方の、参考になりそうなアドレスを記述しておりましたが、 私本人のものでないにもかかわらず削除されました。 (他18件の過去回答のものについても) 私が今後その方のアドレスを記述すると、削除対象だそうです。 他の方のアドレスを、同一回答者が繰り返し提示したことにより 営業宣伝として判断されたそうです。 (私自身そういうことは考えたこともないのですが) 投稿本人のものに限らず、そのような判断があるようです。 (サポート担当とのやり取りのメールは転載禁止ということなので) (私が解釈した内容で記述しています) 判断される方の、Accessの知識の有無については答えられないとのことです。 ご質問者さんがURL付きで最近質問されたものがあったと思いますが、 ある回答者がそのサイトの他場所を記述(紹介)していくと、同様に 営業宣伝とみなされる可能性があるようです。 (その判断基準は公開されていないそうです) また、同じような質問があった場合、同じような回答になると思いますが、 (同じアドレスを記述することもある?) それについては、 http://guide.okwave.jp/guide/netiquette.html や http://oshiete.goo.ne.jp/ask/guide/about/netiquette.html で、質問をする前にまず調べてみましょう・・・を「周知」させているので・・・・ ということのようです。 (転載できないので、前記同様私が解釈した内容になってます) 本ご質問への私が取れる対応をお聞きしたところ、 文字数が足りなければ連続して、完結となる記述に、ということでしたが、 私が考えるに、#3を含め、記述するとキーワードを与えることになると思います。 なので、フォーム上での表現および#3の回答内容について、触れないようにしたいと思います。 ご質問者さんは、おそらく、訪問されていないと思いますので忘れてください。 (アクセスログが確かなら、(削除確認のために訪れた?)1箇所からしか接続はありませんでしたので) 気を取り直して #3の補足に対して) > 親ホームをすべて入力前にサブフォームに移動すると、親フォームのエラーが出る。 > サブフォームのレコードを入力中に、次のレコードを入力するとサブフォームのエラーが出る。 フォームの構成は、親:単票 子:帳票 の様になっているのでしょうか。 実現するには以下の点を考える必要があると思います。 ・テーブル内の項目は主キー以外値要求「いいえ」 ・設定しているリンク親子フィールドを基準に ・・子側で、追加の許可制御 ・親側のレコード移動時に、親の前レコードにリンクする子レコードの各項目チェック ・など? 結構なVBA記述が必要になる気がします(難易度は高いのではないでしょうか)。 親フォーム、子フォーム単位でのチェックならすんなりいくと思いますが(現状?) (親が途中、子が途中で行き来となると・・・) 更新ボタンはどちら側に配置されるのでしょうか。 親側にあるのであれば、「移動ボタン」を表示していなければ容易にレコード移動しないので、 前述の親の前レコードに・・・・を更新ボタンで処理すれば良さそうです。 (雰囲気だけで未検証) 後は、親子を行き来する際に、途中でリンク親子フィールドに設定した項目変更は不可など、 制限を付けていくのでしょうか。 (制限とするよりも、編集ロックなどで制御するとか・・・でも) リンク親子フィールドを使ってなければ、また別の方法になると思います。 その辺の違いは、前回のご質問 http://okwave.jp/qa/q5878468.html に書いておいたつもりでいます。(応用の範囲になるのかも?)
その他の回答 (11)
- kmetu
- ベストアンサー率41% (562/1346)
フォームのプロパティ→イベント→更新後処理でそれぞれの項目のエラーチェック(入力漏れなど)をするようにしてください。
お礼
ありがとうございます。 更新前処理ではなく、更新後処理でいいのでしょうか?
補足
>更新後処理でそれぞれの項目のエラーチェック(入力漏れなど)をするようにしてください。 更新後処理で試したのですが、レコード単位でエラーチェックされます。 フォームの更新ボタンを押したときに、親フォーム、サブフォームのチェックされることが希望なのですが、そのような都合のいいチェックはできないのでしょうか?
- 1
- 2
補足
リンク先は、たぶん削除(予感)していたので、すぐにブックマークしました。 でも、使い慣れていないので、失敗してブックマーク出来ていなかったようです。 残念。 さて、今回の担当者の対応は非常に残念です。 ACCESSのようなある特定の質問の場合、参考として外部リンクは仕方無いと思います。 ブログ等は無数にありますが、本当に役にたつところといえば、数が限られてきます。 また、私のような初心者が検索した場合、数限らせた中のまた限られたところとなります。 そのような場合、同じようなところが外部リンクがはられるのではないでしょうか? それに、初心者というのは、同じようなところでつまずき、同じような質問します。 まず、質問する前に、同じような質問がないか調べることも知っていますが、実際は同じような質問があっても見付ける事ができません。 また、このような質問板の場合、専門的な質問は住人ともいえる、かぎられた人の回答で成り立っている場合があります。 言うなれば、そのような人との共存でこのようなサイトは成り立っているのではないでしょうか? それを、一辺倒の決まりということで、削除したことが非常に残念です。 ここまで書いたら、管理者から利用を断られそうでが・・・ ま~、利用させていただいているので、決まりを守らなければいけないのはわかります。 しかし、もうちょっと柔軟な対応をお願いしたいところです。 今回、最初に削除されたリンク先は、たぶん見たと思うのですが・・・ あれを見て、サイトに導く広告だと普通は思わないと思うのですが、これも私の思い違いでしょうか? リンクは、回答の下の方にあり、リンク先はACCESSの技についているサイトではなかったでしょうか。 なぜ、私がリンク先にこだわるかというと、別の件でACCESSについて探していました。 私からみて、かなり高度なテクニックが書かれていました。 その中の一つのサンプルについて、質問があったのですが、私があまりにも初心者すぎ、恐れ多くて質問できませんでした。そのブログの管理人が、回答頂いている人のものかな?ときになって。 さて、私は気持ちの切り替えが下手なので、気持ちを切り替えるなんて出来ませんが・・・ 今回の私の希望どおり、親子フォームを最後に確認ですが、かなり面倒なのでは? その後、私も色々テストしてみました。どうも、こまめにデータをレコードに記録しているように感じました。 そのため、普通につくって、親子同時にチェックって無理なようなきがしました。 だから、まず、非連結のテキストボックスをつくります。 そして、独立した更新ボタンを押したときに、フォームのデータを取得してエラーチェックします。もし、OKだった場合のみ、値を変数に入れてSQLで流し込む手続きで出来るような気がするのですが、そんな事をACCESSでできるのかどうかわかりません。 最終的には、データの保存はMysql等を考えています。(トランザクション等も考えています。) もし、私の考えているような手続きが必要なら、ACCESSでするのではなく、VBまたはVC++で作った方が、楽のようなきもします。(ACCESS独特の情報を集めるのに非常に苦労し、かなり嫌気がさしております。)