• ベストアンサー

ACCESSでの画面更新について

ACCESSの初心者です。 現在マニュアルを見ながら会社の携帯電話管理の仕組みを考えています。 今考えていることをACCESSでどう実現していいのか分からなくなってきましたのでアドバイスをお願いします。 業務としては、会社が社員に貸与している数千台の携帯電話の管理です。 毎月、新規発生分を追加したり、使わなくなったものを削除したり、使用者や付加情報を更新したりします。 追加ができるフォームは作成できたのですが、問題は削除と更新です。 主キーである電話番号を画面から入力して、該当する携帯電話の情報を画面に表示し、必要なところを修正する。 または該当レコードを削除する。 このような処理はACCESSには不得意なものなのでしょうか? 2冊ほど買って読んだマニュアルにはそのような例はありません。 更新するにも最初からレコードの順に該当するレコードまで送っていってそこで修正するようなものしか載っていません。 多分VBA等を使えばできるのだと思うのですが、ACCESS自体が初心者でVBAなどはますます分かりません。 簡単にできる方法は無いでしょうか? アドバイスをよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#96417
noname#96417
回答No.2

パラメータ クエリではだめ? (質問内容を誤解しているかも)

sirouto012
質問者

お礼

q09さん ありがとうございます。 御礼がおそくなってしまって申しわけありません。 お教えいただいた「パラメータクエリ」で、ということで調べました。 フォームでテーブルをそのまま使うのではなくて 抽出条件に [ ] で囲んだメッセージを指定したクエリを作って フォームではそのクエリをテーブルの代わりに指定するということですね。 これで画面入力をして該当レコードを表示させ、更新することができました。 問題はこれで解決できると思います。 ありがとうございました。 ACCESS初心者で更に質問で申し訳ないのですができましたらお教えいただけませんでしょうか? これで番号を指定して修正ができるようになりましたが、この場合に抽出されるのは指定した電話番号で、 当然のことながら毎回1件のレコードだけになります。 修正が終わったら、次の電話番号を指定して同様の作業を続けていくようにしたいのです. 今のままでは1つの電話番号についての更新を行ったらこのフォームを終わらせて、 次の電話番号を指定するために再度このフォームを起動する必要があるのですが、 更新終了後に最初の番号指定画面に戻すことはできませんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#96417
noname#96417
回答No.3

>更新終了後に最初の番号指定画面に戻すことはできませんでしょうか? クエリなら「実行」ボタン(2007)を押せばよいはずです。 (手元に Access がないので・・・)

sirouto012
質問者

お礼

q09さん ありがとうございました。 最初は「実行」ボタンが無かったのですが ツールバーをユーザー設定して表示させると できるようになりました。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

先に、Accessは、アプリケーションより、ツール群と言う趣が大きいです ですので、普通、VBA・クエリ等を、駆使することを前提とされてます で、質問している内容は、削除と更新 普通に考えて、削除は、履歴として残す必要は無いのですかね 解約日等を記入すれば、レコードを削除したことと同等に考えるとかね 後、更新のほうは、やっぱりVBAでレコードをフィルタで引っ張るくらいかな? どっちにしても、VBAは使えないとなれば、難しいのではないかな?

sirouto012
質問者

お礼

Dxakさん ありがとうございます。 >先に、Accessは、アプリケーションより、ツール群と言う趣が大きいです >ですので、普通、VBA・クエリ等を、駆使することを前提とされてます なるほどやはりそうなのですね。 EXCELのように素人でもとっつきやすくて目で見てすぐ分かり 順々に覚えて行って、そこそこ使えるようになるといったものでは ないのですね。 >普通に考えて、削除は、履歴として残す必要は無いのですかね >解約日等を記入すれば、レコードを削除したことと同等に考えるとかね おっしゃるとおりだと思います。更新と同様になるということですね。 >後、更新のほうは、やっぱりVBAでレコードをフィルタで引っ張るくらいかな? >どっちにしても、VBAは使えないとなれば、難しいのではないかな? ありがとうございました。 よく分かりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ACCESS VBAで画面からの更新

    ACCESS VBAの画面からの更新をしようとしています。 レコードソースで直接クエリを参照させている項目は表示された値を修正すれば そのままテーブルの値も修正できます。 しかし、コントロールソースにDLookUpを使って表示した項目を修正しても テーブルの内容が更新されません。 即時更新されるようにするにはどうのようにすればよいのでしょうか?

  • ACCESSの入力フォームの質問です

    ACCESS初心者です。 1万人弱の携帯電話管理システムを作成中ですが、 判らないところが出てきて困っております。よろしくご指導ください。 電話番号をキーにしたテーブルにいくつかの表をJoinしたクエリを作成し、 電話番号の項目の抽出条件に[携帯電話番号を入力してください] を入れています。 そのクエリを元に単票形式の入力フォームを作成しています。 これを実行するとまず 「携帯電話番号を入力してください」と表示され携帯電話番号を 入力します。これで該当のレコードが表示されます。 必要な更新が済んだら「実行」(ビックリマーク)を押下して再度 「携帯電話番号を入力してください」を出して次の番号を入力。 削除したいときには「削除」(▲Xのようなマーク)で削除。 以上のように作りました。 このやり方自体、ベストなのかどうかわかりませんが一応はこれで 修正と削除ができるのですが、データ追加ができません。 「携帯電話番号を入力してください」のところで追加したい番号を 入力すると、全項目スペースの入力フォームが表示されて入力は できるのですが、肝心の電話番号の欄には、最初のダイアログで 指定した電話番号が連携されず 「フィールドに必要なプロパティがTrueに設定されているために  このフィールド”電話番号”にはNull値は挿入できません。  値を入力してください」 と表示されてしまいます。 ダイアログで指定した数値をフォームの該当フィールドに連結させて レコードを追加するにはどうしたらいいでしょうか? 判りにくい質問になっているかもしれませんが、よろしくお願いします。 ACCESSは2002です。

  • アクセス レコードセットを更新できません

    アクセスは初心者ですが、会社で少しずつ勉強しながら、会社のアクセスのシステムを管理しています。 先日から、突然既存のアクセスのシステムで、フォームを入力しテーブルに追加しようとすると「レコードセットを更新できません」とメッセージが出てきて、データを更新できなくなってしまっています。 特にアクセスを変更したりしていないのですが、突然なってしまいました。 今まで問題なく動いていたので、なぜそういったメッセージが出るのか分からず、困っています。 どういった対策をしたらよいでしょうか。 ご助言をお願いいたします。

  • アクセスにて、更新の処理を..

    アクセスのフォームにおいて、普段は追加と参照だけで、更新はできないようにロックがかかっていて、いざ情報が間違っていて、情報を更新したいときは、更新したいレコードを(例えば)ダブルクリックすると更新できるようになって、更新が終了するとまた、更新はロックがかかる。というようなことはできるのでしょうか?

  • アクセスのテーブル更新について

    アクセスのテーブル更新について ------------------ テーブル1 性  名   フラグ 地域 佐藤 太郎 1 鈴木 次郎 9 高橋 三郎 3 ------------------ テーブル2 地域 フラグ 関東 1 関西 2 海外 3 ------------------ テーブル3 性  名   フラグ 地域 田中 四郎 2    関西 ------------------ アクセス初心者です。エクセルはファイル操作のVBAをモタモタしながら組める程度です。 上記1から3のテーブル(以下T)がある場合の、以下2つの処理を行う方法が分からず困っています。 処理1 T1の地域とT2の地域の内容が異なった場合、T1の地域にT2の地域の内容を書き込む 処理2(処理1実行後) T1のフラグが9以外のレコードをT3に追加し、追加したレコードをT1から削除する 上記処理は追加クエリや更新クエリで実行出来る内容でしょうか? VBAの記述が必要な内容でしょうか?そこからして分かっていません。 具体的な処理方法という形で教えて頂けたらと思います。 どうか宜しくお願いします。

  • アクセス初心者です。

    アクセス初心者です。管理簿を作っています。フォームでの更新や削除などを「いいえ」にして、コマンドをクリックして初めて削除ができたり編集ができたりとしたいのですが、どのようなプログラムを書き込めばいいのでしょうか??コマンドボタンは、登録・削除・更新を作っています。 あと、アクセスの独学って厳しいものなのでしょうか?VBAは何から勉強していけばいいのでしょうか?また初心者向けのサイトで分かりやすいのはありますか?アクセスクラブは参考にしているのですが、私には分かりにくいです。よろしくお願いします。

  • Accessで特定のレコードの更新規制について

    私はAccess2000を使用している初心者です。 単票フォーム上であるレコードのチェックボックスにチェックしておくと、そのレコードの更新ができないようにできませんか? VBAはよくわかりませんのでマクロで設定できる方法があれば教えてください。マクロでは無理な場合はVBAでもかまいません。誠に勝手なことを申しますがよろしくお願いいたします。

  • accessで画面で更新した内容を全て元に戻す方法

    access初心者です(access2003使用)。 フォームのレコードソースにクエリを指定して詳細部分に条件に一致するレコード内容を一覧形式で表示しています。 一覧ではある項目だけ修正可能としており、フォームの仕様として全てを更新するか全てを更新しないかの二択です。 全てを更新するに関しては修正項目で入力すると自動的(?)にテーブルが更新されており、ある意味何も考慮不要に見えますが、全てを更新しないに関してはどのように行ったらよいか分かっていません。 (イメージとしてフォーム開いたときにトランザクション開始し、フォーム閉じるときにコミット又はロールバックするです。) アドバイスよろしくお願いします。

  • Accessでレコードの更新を任意のタイミングで行うには

    Accessではテーブル内のレコードを編集したあと、他のレコードにカーソルを移動すると、編集されたレコードが更新(コミット)されてしまいますが、このようなアクションを行っても更新(コミット)されないようにして、ユーザーが任意のタイミングで更新(コミット)出来るように設定することは可能ですか? VBAでロジックを組まなくても実現可能なら良いのですが・・・。

  • Access で更新クエリー

    教えてください。アクセス2000 Win2Kです。 あるDBから1つのレコードだけ抽出し(オートナンバーをキーにしてテーブル作成クエリでローカルテーブルを作成します。)その後、そのレコードを加工して元のDBにもどしたいのですが、1レコード上にフィールドが60近くあるので一括で更新したいのです。「T_ローカル.*」みたいな感じで・・・。なにか良い方法はありませんか?一旦、DBから削除して加工したレコードを追加する方法も考えたのですが、DBのオートナンバーが変わってしまうのでやめました。 なにか良い方法をご存じの方、是非ご教授ください。 よろしくお願いします。

専門家に質問してみよう