- ベストアンサー
accessについて教えてください
こんにちわ。 私は時々ですがaccessを使う事があります。またオフィスコンピュータも 扱った事があります。そこでとても知りたいと思った事があるのですが・・・ accessを使って顧客管理をする仕事で働いていた時、入力の際 とっても困るのがaccessのバックアップの不便さでした。 万一間違った入力をしたり、入力してあったものを誤って削除したりしてしまった時、「この入力内容で正しいですか? yes/no」など言うような確認の画面が出ずに 間違ったまま登録されてしまったり、消されたまま前の登録内容が上書きされたりしたからです。以来恐ろしくてaccessを使った仕事から離れるようになったのですが・・・・ accessでは、入力内容の確認ができて、間違っていた場合は入力前の情報に 自動的に回復させるような芸当はできるのでしょうか? 一度自分でシステムを組んでみたいとも思ったのですが、初心者向けのマニュアル 本にはそのような記述がどこにもありませんでしたので、中級者以上でなければ できないのかなと思っているのですが・・・・実際のところはどうなのでしょうか? 分かる方ぜひ回答をよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんにちは Access でデータ-を誤って入力した場合って、不便ですよね 直させる処理を書くのも面倒だし で、私がよく使う方法として、 データ-を格納するテーブルAがあったとします。 そこにデータ-入力専用のテーブルBを用意します。 テーブルの構造は同じでも必要な処だけでも構わないと思います。 テーブルB用のフォームを作成して 任意にユーザーに入力してもらいます。 最後に更新なりのボタンを用意して、 メッセージボックスかなにかで、 「本当に更新していいですか?」 みたいなメッセージを表示させます。 あとは、追加クエリーでテーブルB→テーブルAにデータ-を 反映させます。 その後、テーブルBのデータ-を削除クエリーで削除します。 こんな感じですが、よくその間(追加クエリーの前)にデータ-の エラーチェックなんかをさせたりします。 こんな感じで、テーブルBに関しては、特に注意深く処理する必要が 無いのではと思います。 間違えてデータ-を直すのが面倒な時は、テーブルBのレコード1行削除しちゃ うとか? あと、このような処理を行う場合、VBAなどはどうしても必要になってしまう と思います。もし、VBAの知識がなければ、 Access VBA などの書籍を一度お読みになるのが一番かもしれません。 簡単に書きましたが、お役に立てればいいのですが ではえは
その他の回答 (3)
これは中級以上かな・・・ いや、私がよくやる方法なんですがね。 私もaishodoさんと同じで、フォームがレコードに直結しているAccessのやり方が嫌いなんです。 フォーム上で操作したものがその瞬間にレコードに反映してしまうってのがね。 そこで、基本的に「一覧表示」のフォームではレコードの編集・新規追加・削除を禁止しています。特に[Delete]キーでレコードを削除できないようにすることだけはMustです。 削除は一覧表示フォームに作成した[削除]ボタンを押した後、[はい/いいえ]のメッセージボックスで確認をとるようにしています。 入力用フォームはレコードソースを指定せず、いわゆる「非連結フォーム」にし、フォームオープン時などにVBAからADOを使用して該当レコードを取得。そのレコードの各フィールドの値をフォーム上のテキストボックスのValueに設定。 フォーム上に作成した[更新]ボタンを押すと、各テキストボックスの値を集め、VBAを使用してレコードを更新するようにしています。 ここ1年ぐらいはWebアプリの開発が主なのですが、WebブラウザにHTMLでレコードを書く場合はAccessの一覧フォームなどの力を借りずに自力でテーブルを書く必要があります。 しかしAccessとは違って「ユーザーインターフェイスはこちらが提示したデータをユーザーが操作するだけのもの。実際のレコード処理はユーザーから隔離する」というスタンスがとても好きです。 Accessは「手軽に」データベースを開発できるのが売りなので確かに開発スピードは速いのですが、ユーザーインターフェイスに自由度がないのが残念です。 と、偉そうな事を書いておりますが、どこまで作りこむかは顧客の予算次第なわけでして(^_^;;
お礼
情報提供ありがとうございました(・_・) とっても参考になりました(^-^) また別の機会がありましたら、ぜひご協力よろしくお願いしますm(_ _)m
- 20020718
- ベストアンサー率48% (13/27)
>accessでは、入力内容の確認ができて、間違っていた場合は入力前の情報に >自動的に回復させるような芸当はできるのでしょうか? できますよ。 ・・・といっても、考え方が少し違います。 「入力用のものと、実際に登録されるものを別にする」と考えてみて下さい。 入力用に、色々入力します。 「やっぱりやーめた」といって、 入力用を白紙にしても、実際に登録されているものには影響ありませんよね。 入力用を実際に登録されているところに反映させるタイミングで、 「本当登録していいの?」とメッセージを出すことも、 「これ間違ってるよ」とメッセージを出すことも可能です。 >一度自分でシステムを組んでみたいとも思ったのですが、 >初心者向けのマニュアル本にはそのような記述が >どこにもありませんでしたので、中級者以上でなければできないのかな >と思っているのですが・・・・実際のところはどうなのでしょうか? 初級/中級/上級の区切りがよくわかりませんが、 初級・・・テーブル構造からフォームの作成・レポートの作成まで 中級・・・フォームやレポートのイベント実行やマクロの作成 上級・・・モジュール作成 と勝手に区切ると、やはり中級以上になるかと思います。 ちなみに。。。 >とっても困るのがaccessのバックアップの不便さでした。 とのことですが、バックアップとは、 不測の事態に備え、別の記憶媒体に保存することなので、 少し言葉の使い方が違います。(以下を参照して下さい) http://www.e-words.ne.jp/view.asp?word=%83o%83b%83N%83A%83b%83v 頑張って下さい。
お礼
情報提供ありがとうございました(・_・) とっても参考になりました(^-^) また別の機会がありましたら、ぜひご協力よろしくお願いしますm(_ _)m
- O_cyan
- ベストアンサー率59% (745/1260)
Accessのツール→オプション→編集/検索の確認のレコードの変更にチェックを 入れればレコードの修正・削除等の処理をする時にAccess自体がメッセージを 出してくれます。 Accessに依存しなくてもその処理の際にメッセージを表示させる事はできます。 顧客管理をする仕事で働いていた時のシステムでは入力や修正・削除の処理をする 際にメッセージを表示して確認させる仕様になっていなかったのではないでしょうか。 通常はメッセージを表示する仕様にするのが親切な設計だと思いますが、余分な メッセージは必要ないと無くしたのかもしれません。 その会社の使い方にもよると思います。
お礼
情報提供ありがとうございました(・_・) とっても参考になりました(^-^) また別の機会がありましたら、ぜひご協力よろしくお願いしますm(_ _)m
お礼
情報提供ありがとうございました(・_・) とっても参考になりました(^-^) また別の機会がありましたら、ぜひご協力よろしくお願いしますm(_ _)m