Accessのテーブル構成とは?

このQ&Aのポイント
  • 備品の在庫管理ツールを作成するために、Accessでテーブル構成を考える必要があります。
  • テーブルの構成は段階的に行い、現在使用中の備品と倉庫にしまわれている備品を管理します。
  • 備品の情報や在りか、状態などをデータベースに盛り込み、場所を指定して備品情報を取得できるようにします。
回答を見る
  • ベストアンサー

Accessのテーブル構成って…

こんばんわ。 今回、会社でちょっとしたツールを作ろうと思っています。 どのようなツールを作りたいか、といいますと ◎業務に用いる備品の在庫管理ツールを作りたい。 ○備品が使用中か、倉庫に入っているかなどを見られる。 ○どの支店の倉庫の、どの棚の何段目に何がある、というレベルまで見たい。もちろん、どの使用中のものについても同様。 ○その備品のバージョン情報など、詳細な情報をパッと見て一覧表示できるもの。 ○備品がおいてある場所なども表示させたい。 といった感じです。 制約条件としては ○出来るだけ保守・管理が簡単なもの。 ○他の人が、「この備品を使った」とか「新しい備品がどこどこに入った」などの情報を簡単に入力できるもの。  簡単なキーボード操作やプルダウンメニューを用いた  分かりやすいインターフェイスがあると良い。 くらいです。 補足ですが、このツールは段階的に作成していきたいと考えています。 Accessで作成する場合だと 第一段階:現在使用されている備品リストを支店の棚毎に登録し      欲しい情報をその中から取り出せる 第二段階:現用でない(倉庫にしまわれている)備品の情報を登録 第三段階:備品の情報投入を私以外の社員が行えるような、フォームを作成し      私が手を加えなくとも情報が更新される状況を作る      という感じになるでしょうか。 現在、テーブルの構成等をどうするのか、非常に迷っています。 倉庫にしまわれている備品を使用するということは、現用の備品が壊れてしまったことを意味しています。 その場合、 ●●支店の仕事場にある、○個目の棚の◇段目の▽列目では△という備品を使用している。という情報が △の備品が壊れたので、 ●●支店の倉庫にある、□個目の棚の■段目の▲列目にある◆という備品に交換した。 という情報が更新されるようにしたいのです。 …分かり辛いですね。 まぁ、データベースに盛り込みたい情報は ・現在使用中の備品がどんなものか(それぞれにシリアルNo.分けされて区別しているし、いくつか種類もある) ・現在使用中の備品の在りか(支店、フロア、棚番号、段数、列数まで) ・未使用の備品の情報(情報自体は使用中の備品と同様のもの) ・未使用の備品の在りか(欲しい情報は同上) ・備品の状態(正常か故障しているか) といったところです。 動作は、最終的に ◇場所を指定することで、その場所の備品にどんなものがあるか、といった情報を取得する。 ◇備品情報を簡単に管理することができる  ・備品が壊れた場合、倉庫の備品を替わりに使用するため   倉庫の備品と交換することになる。   その際、フォームから入力することで倉庫の備品が   故障した場所の備品の情報と置き換わる。   故障した備品は「修理中」などのステータスを持たせたい  ・新しく備品が入荷した際、簡単に倉庫の備品リストに登録できる。 といったことが出来ればよいのですが…。 構成を考えると頭がこんがらがってしまいます…OTL 段階的に作成するには、どういった順番で、どのようなテーブル構成、データ構成にすればよいのでしょうか…? 意味の分からない部分がありましたら 補足説明させていただきますので、よろしくお願いいたします。

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

  • ベストアンサー
  • MidKnight
  • ベストアンサー率57% (20/35)
回答No.2

1です。 概念の話なんで、どうしても抽象的になりますが…。 >これは一つのテーブルに全ての情報を >詰め込んだ方が使い勝手が良いという解釈でよろしいんでしょうか? ぶっちゃけ設計次第なんですが、この場合は1つの方がいいでしょう。 データを分ける必要がない場合は、テーブルは少ない方がいいです。 そうじゃないと無駄に複雑になって、作りながら混乱します。 最初はテーブルを少なく作っておくのがコツといえるでしょう。 第一段階ではシンプルな構造を心がけた方が、のちのち困らずに済みます。 テーブルって言うのはデータを置くだけの、ただの表です。 縦と横の二次元に並んだデータしか置けません。 で、今回の場合は、縦方向に各備品の情報をならべるようにして、横方向に個々の備品の詳細を置くようにすれば、一つのテーブルにほとんどの情報がおさまります。 無理に分けなくてもいいわけです。 そのデータに対し、三次元目の方向にデータを置きたくなったときになって、はじめて2つ目のテーブルが必要になります。 個々の備品が前には何処にあった、その前は何処にあった…とか、 前はいつ壊れていつ直った、その前は…とか。 こういう情報は個々の備品ごとに項目数が違いますから、二次元しかないテーブルには、いっしょに記録することができませんよね。 だから、別テーブルに情報を入れて、元のテーブルと連動(リレーション)させて使います。 このときデータの入力フォームで、サブフォームという機能を使えば、入力フォームをあまり煩雑にしないで済みます。 第二段階の機能拡張にとりかかったら、試してみてください。 他には、連動する必要はないけど別途テーブルを作る場合もあります。 たとえば入力フォームから備品名の入力の手間を省きたいと思ったときに、備品名を列挙するテーブルを作っておく場合などです。 テーブルを商品名の一覧メモみたいに使うわけです。 でもまあ、これも第二段階以降での話ですね。 情報はできるだけ少ないテーブルに入れておいて、データを一部だけ取り出したいときにはクエリを使います。 クエリもテーブルを元にウィザードで作れますから、色々いじっていれば感じが掴めてくるでしょう。 で、クエリを元にレポートを作って、集計や統計を表示させる。 マクロは入力フォームのボタンから呼び出したりすれば、入力の省力化に役立ちます。 とまあ、こんな感じで改良していくのがいいと思います。 そうすれば、メインのデータに影響が出ませんから、使いながら改良していくことができるでしょう。

multiple58
質問者

お礼

なるほど。 ありがとうございます! とりあえずベースを作ってみることにします。

その他の回答 (1)

  • MidKnight
  • ベストアンサー率57% (20/35)
回答No.1

追跡してきました(笑) Excel的な作成方法を考えておられますね。 Accessなら中心部分は一気に作ってしまった方が楽です。 そういうソフトなんです。 お考えのデータベースでは、個々の備品をひとつずつ管理する必要がありますね。 なので、全備品のデータを入れるテーブルを作ります。テーブルって言うのはデータを入れる表のことです。 備品1個につき、1情報(1行)です。 仮にですが、「備品一覧」って名前のテーブルを作ることにしましょう。 まず個々の備品を区別するためのIDが必要です。 IDって項目(列)を作って、主キー(重複がない、個々のデータを区別するための情報)にします。 シリアルNo.が重複しないのであれば、この情報にシリアルNo.が使えるでしょうし、 シリアルNo.が使えなくても、オートナンバーにすれば自動で番号を振っておくことも出来ます。 それから、備品名の列、所在の支店名の列、何処の棚にあるかの情報の列、などを作っていきます。 購入日だとか使用期限だとか、必要な情報の列も作ります。 修理中ステータスのYes/No情報の列、修理出しした年月日の列、などもあるといいかもしれません。 次に、入力フォームを作りましょう。 といってもこれは簡単で、ウィザードから「備品一覧」テーブルの入力用フォームを作り、 デザインを整えれば基本はできあがりです。 このフォームから、情報の追加・削除・変更が出来ます。 ここまでで、本を見ながら1時間もあればできるでしょう。 Excelで作ることを思えば、遥かに簡単に作ることが出来ます。 あとはフォームを使いやすくするために改造したり、変更履歴を残すテーブルを作ったり、 情報を一覧表示する機能(レポートを使います)を作ったり、 統計を取りたければクエリを作ったり、情報入れ替えやコピーのマクロを作ったり…と、どんどん改造していけます。 第一段階で中心部を全て作り、あとは機能拡張と使い勝手の向上。 そういうふうに考えるといいと思います。 こういうデータベースの場合、中心部を作る方が、かえって時間がかからなかったりするものなんです。 だから、まず勢いだけで作り始めてしまうぐらいの方がいいかもしれません。 最初のコツがわかりはじめたら、拍子抜けするぐらい簡単ですから。

multiple58
質問者

補足

追跡、どうもありがとうございます(笑) お世話になっております。 なるほど、大変参考になる意見をありがとうございます! ここで一つ疑問点が出てきたのですが、テーブル構成について。 これは一つのテーブルに全ての情報を 詰め込んだ方が使い勝手が良いという解釈でよろしいんでしょうか? それとも、備品の情報と備品の位置情報という風に二つのテーブルを 作成して、それらを関連付けるというニュアンスですか? 理解力が無くてスイマセン…。 よろしくお願いします。

関連するQ&A

  • Access?Excel??

    こんばんわ。 はじめまして。 今回、会社でちょっとしたツールを作ろうと思っています。 そこで、皆さんにお聞きしたいのは 何を使ってそのツールを作成するのが良いか、ということです。 で、どのようなツールを作りたいか、といいますと ◎業務に用いる備品の在庫管理ツールを作りたい。 ○備品が使用中か、倉庫に入っているかなどを見られる。 ○どの支店の倉庫の、どの棚の何段目に何がある、というレベルまで見たい。もちろん、どの使用中のものについても同様。 ○その備品のバージョン情報など、詳細な情報をパッと見て一覧表示できるもの。 ○備品がおいてある場所なども表示させたい。 といった感じです。 制約条件としては ○出来るだけ保守・管理が簡単なもの。 ○他の人が、「この備品を使った」とか「新しい備品がどこどこに入った」などの情報を簡単に入力できるもの。  簡単なキーボード操作やプルダウンメニューを用いた  分かりやすいインターフェイスがあると良い。 くらいでしょうか。 Excelやアクセスをからませて作成したいと思っていますが イマイチどこから手をつけたらよいのか困っています。 どうかアドバイスお願いいたします。 アドバイスをするにあたってココが分からない、情報が足りない、という点がありましたらお申し付け下さい。 よろしくお願いします。

  • いやがらせ?

    最近職場で気味の悪いことが続いています。 備品倉庫にある段ボールの荷物をすべてオフィスに移動するよう言われ倉庫内には段ボールが4箱あり全て運び出しました。運び出したあとの備品倉庫は空の状態です。 しかし翌日備品庫を見てみたらオフィス行きの段ボールの荷物がもう2箱残っていたのです。 昨日運んだ時点では段ボールは4箱しかなかったのですが…と説明したのですが信じてもらえず私が移動し忘れたことになってしまいました。 備品倉庫は3畳ほどのスペースで棚などもなく全て運び出した後毎回中が空なのをチェックしてから締めているので大きな段ボール2箱ということもあり見間違うことはないと思っています…。 宅急便で送る書類が足りないと言われ本棚に戻ると前日発送する際に全て取り出したはずの書類が数部残っていたり…など似たようなことが良く起きるのです。 荷物や書類は管轄外、守秘義務もあり私が中身を確認することは出来ないので自分にできることは慎重に移動させることくらいです。 私は翌日にことが起こっているので私の作業後に書類や荷物を追加で置いている(実際そういうこともあったので)かいやがらせなのではと思っています。 自分は情緒障害があり言葉が不自由なんで(公表しています)なめられており弁解も利いてくれず頭がおかしく、仕事ができない奴だと言われ終わりです。 しつこいくらい確認し、チェック表まで作っていますがそれでも頻繁にこんなことが起こります。 ミスだとしたらあまりにも単純なので信頼が落ちてしまっているのですがどうしたらよいのでしょう。

  • Accessで選択クエリから元テーブルを編集したい

    Accessで選択クエリから元テーブルを編集したいので教えてください。 備品の管理番号の、空番を確認するクエリがあります。 前任者の作成したクエリでは、クエリから元テーブルの編集ができ、空番確認と同時にそこに情報を書き込めるので便利でした。 自分で同じクエリを作成したところ編集ができません。 テーブルのフィールドプロパティを見比べましたが、同じです。 クエリから元のテーブルを編集するのには、どうすればよいですか?

  • Access2002のランタイム

    現在、Access2002で顧客管理ツールの作成を行っています。このツールを、Accessが入っていない環境下でも使えるようにしたいのですが、使い始めたばかりで作業手順などがよく分かりません。 Access2002の仕様詳細や使い方について、詳しい情報が分かるサイトなどありましたらお教えください。

  • スイッチの構成情報が不明

    よろしくお願いします。 今月から配属になった客先のシステムですが、 構成管理で悩まされています。 システムは正常に稼動していますが、 例えばCisco Catalystスイッチでは、ログインするIDやパスワードも不明、 またそもそも管理IPも不明・・ で何も手が出せず、動いているのを見ているしか無い状況です。 よりによって24ポートは全て使用されておりますが、タグが不完全で どのサーバとの結線かも可視化ができていません。 仮に故障した場合、同じ構成に戻せるかは、リスクが高いように感じます。 上記で、「NWスイッチに割り振られた管理IPが不明で、それを明確にしたい場合」、 どういった対応策がありますでしょうか?。 ICMPポーリングにより自動で監視マップを作成してくれる、 フリーのSNMPマネージャなどを探してみましたが、見つけられず・・。 アドバイスを頂けると助かります。

  • ACCESSでこんな在庫管理を作成したいのですが・・・

    (1)注文情報をCSV形式でACCESSに取込む。 (2)部品入庫データをエクセルからインポートする  (倉庫在庫として在庫管理)  ここで在庫は倉庫在庫として+ (3)部品が倉庫から各ラインに移動するときに、明細書を作成。   ここで倉庫在庫は-。各ライン在庫は+。 (4)ラインごとに在庫管理 (5)製品が完成 出庫情報をエクセルからインポートここで在庫が-。 倉庫・ライン別の在庫と、会社全体にある在庫(倉庫・ラインをあわせた在庫)も表示したい。 注文情報はどの部品が納期まで必要かを在庫と照らし合わすためだけに必要なので、在庫数には直接関わってきません。 主となる在庫の+、-が未だにうまくできません。 どんなことでもいいのでアドバイスいただければありがたいです。 よろしくおねがいします

  • テストツールのJDKが異なる場合の構成

    Java1.4で作成しているプロジェクトに対して Java1.5で動作するテストツール(JUnit4やTestNG)を使用することは可能なのでしょうか? 可能な場合、どのような構成にすればいいのですか? プロジェクトを分ける必要があるのでしょうか?

  • 社内ネットワークの構成変更の管理

    情報システム部門で働いております。 社内のネットワークの管理についてアドバイスを頂きたいです。 ユーザが勝手にLANケーブルの配線を変更してしまい、問題が発生することが多々あります。 先日もループが発生してしまいました。 再発防止の手段を検討しているのですが、予算が無いため運用でカバーしたいと考えています。 (ループを検知するスイッチなどを導入したいとは思うのですが。。) ネットワークの構成変更を行う場合には、どのような変更を行うかのかを事前に申告してもらい、 チェックした後に実際に変更してもらうようなフローの作成を考えています。 一般的に、このようなときにはどのような手続きをとるものなのでしょうか? 書類などで管理を行う場合はどのような項目を記載してもらうべきか教えていただきたいです。 またネットワークの構成を管理するツールなどがあればご教示いただけますでしょうか。 そもそもユーザに配線を触らせるなんてとんでもない、といった意見もあれば聞かせていただきたいです。よろしくお願いします。

  • access検索フォームからメイン、サブフォームへ

    access初心者です。 先日、「メイン、サブフォームの入力」について質問した者です。 取引先の会社情報を管理するために、access2007で顧客管理を作成しています。 現在、取引先本社情報とその支店情報を新規登録及び既存顧客を編集するフォーム「会社登録フォーム」と「会社検索フォーム」を主にVBAで作成しています。 <実現したいこと>: 既存顧客を編集する場合は「会社検索フォーム」から抽出し、「選択」ボタンで会社情報を「会社登録フォーム」に呼び出し、本社及びその支店情報を編集する。 <困っていること>: 「会社検索フォーム」から顧客を選択後、「会社登録フォーム」では、支店情報は変わりますが、本社情報が変わりません。 (メッセージ:「リレーションシップが設定されたレコードがテーブル'支店テーブル'にあるので、 レコードの削除や変更を行うことはできません。」というメッセージがでます。) <会社登録フォームの環境>: 会社の本社情報をメインフォーム、その会社の支店情報をサブフォームに、単票形式のタブコントロールで複数画面にして、支店ごとに分けて入力できる登録フォームを作成しています。 本社テーブルの会社IDを主キーに、支店テーブルの支店IDを主キーにしてリレーションシップを設定し、クエリ「Q_本社支店」というテーブルを作成しています。 <会社検索フォームの環境>: ・「Q_本社支店」テーブルを元に「会社検索フォーム」を作成しています。 ・「会社名」「支店名」等で検索し、データシートで表示します。 ・ 抽出されたレコードの「選択」ボタンで、「会社ID」を「会社登録フォーム」の本社情報の「会社ID」に代入します。 色々調べてやってはみたのですが、上手くいきません。 行き詰まり感があり、困っております。 ご教授のほどよろしくお願いいたします。

  • 勤怠システムの固定資産登録の仕方

    国内数ヶ所に支店を持つ会社で 今まで本店、各支店でそれぞれ別々の勤怠管理システムを使用していたのを、本社のシステムに統一することになりました。 本社の勤怠システムのプログラムを支店でも使用できるように変更して 各支店にはタイムカードの操作盤(単価20万円未満)を1つずつ設置します。 システムのプログラム変更は既存のシステム(器具備品)の資本的支出としますが、タイムカードの操作盤については、費用で処理できるのか資産計上すべきか悩んでおります。 ただ、今まで本社だけで使用していた時のシステム(操作盤3つ含む) の取得時には、すべてをまとめて1つのシステム(器具備品)として登録していたことを考えると、操作盤についても設置場所は国内各所とはいえ、この勤怠管理システムの資本的支出となるような気もしています。