- ベストアンサー
ExcelとAccessの機能について
- ExcelとAccessはどちらが適しているか検討中です。Excelは初級レベルであり、Accessには経験がありません。データの並べ替えで狂いが発生する可能性があるため、Accessの使用を考えています。
- Accessはデータの整合性を保つ機能がありますが、Excelではデータの並べ替えによる狂いが生じる可能性があります。毎月増えるデータの狂いを確認する方法も教えてほしいです。
- ExcelとAccessの機能について検討中です。Excelは初級レベル、Accessには経験がないため、データの整合性を保つためにはAccessの使用を考えています。毎月増えるデータの確認方法も教えてほしいです。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
3万件いくかいかないか位(見込み)のデータを保存するものを、accessかExcelで検討しています。 ------------------------------------------------------------------------------------- ★日々情報発生し、蓄積が必要なものはAccessです。 情報量が少なく(100件以内)それだけで完結するものはExcelで充分です。 従ってこの件はAccessです。 私はaccessの経験は殆どなく、Excelは初級ぐらいで、マクロを組んだ経験はほぼありません。 入力やその後の管理は、委託しますが、委託先の人も、Excelはともかく、accessに詳しいかは不明です。 ★Accessは ・テーブル(情報の各項目の保管様式を定義) ・クエリ(情報の抽出と並び替え) ・フォーム(情報の登録と参照) ・レポート(報告書作成) の4つの部分で構成されています。 -------------------------------------------------------- ひとつ心配があります。 私の経験の限り、Excelは、並べかえで失敗すると、データに狂いが生じてしまいますが、それに気づけない可能性があると思われます。 例えば「Aさんの氏名…Aさんの住所…Aさんの趣味」という人物毎のデータである場合、そのデータが狂い、「Aさんの氏名…Aさんの住所…Bさんの趣味」となっていても、作業者がAさんの知人でもなければ、気づけないと思われます。 そのようなことをなくすために、access使用した方がよいのかなと思っています。 ★ご心配の通りです。増して処理を委託となるとなおさらです。 accessなら、そのようなミスが起きないようにすることできますか? あるならば、具体的な機能や手順をご教示ください。 ---------------------------------------------------------------- ★取り扱う情報の種類と項目名を補足頂ければ具体的な提案が出来るのですが テーブルの定義だけで殆どが解消します。 定義内容の主だったものをを列挙しておきます。 ・データ型(数値型、テキスト型、日付/時刻型、オートナンバー型、Yes/No型)等 ・フィールドサイズ、書式、規定値、入力規則、インデックス(重複の有無) ・IME入力モード、IME変換モード、ふりがな、住所入力支援 追伸 リレーションシップがExcel無い最強のツールです。ご参考まで
その他の回答 (6)
- washi-washi
- ベストアンサー率38% (225/587)
No.1です。 並び替えを2列の値と言うのは、氏名・年齢順や生年月日・氏名順・ただし性別=男のみ などなど、SQLでは元となるデータ(テーブル)を参照した結果を出す事ができます。No.1でもお答えしたのですが、テーブルそのものの値は何も変わらず、SQLで導き出した集計表だと思って頂ければ、テーブルとSQLの関係が判るかと思います。 ちなみに、生年月日は西暦、性別は1:男性 2:女性とした数値や記号でデータを作っておくと良いかと思います。 住所にしても、市区町村は全国で決められた市区町村コード(5桁の数字)があるので、それを活用すると良いかもしれません。こうやって細かい処でもデータ化していくと、精度の高いデータになっていきます。(後々加工もしやすい) http://www.soumu.go.jp/denshijiti/code.html ここに掲載されている市区町村コードは6桁あるのですが、6桁目はチェックデジットなので実際は5桁です。 ちなみに、No.1でも触れましたが、AccessにはSQL文を可視化したクエリと言うものがあります。SQL文で記述すると難しい文章でも、クエリで表示したい列や順番等を簡単に記述ができます。 また、上級手段としては、テーブルのみが入ったデータベース(A)、データベース(A)からテーブルを参照したクエリだけのデータベース(B)等と言った、別々のデータベースで作る事ができます。AとBに分けておくことで、クエリ編集中にテーブルを壊したりする事が無くなったりするので便利かと。またデータベース(B)を他のPCへ配布する事で、誰でもデータベース(A)の結果を見たりすることができます(直接データを触らないので安心ですよ)。 また、クエリには他にも、条件を満たしたデータを更新する更新クエリ(Update文)、条件を満たしたデータを削除する削除クエリ(Delete文)、入力フォームで入力した文字列・数値をデータベースへ追加する登録クエリ(Insert文)等々、難しいSQL文もクエリで簡単に作成できます。 超上級者になると、VBAとSQL文を組み合わせて、ゴリゴリと更新するプログラムや完璧な入力フォームも作ったりすることが出来ます。これから作ろうとするデータベースもルールに沿った文字列しか入力できない等、高水準なデータになるかもしれません。しかし、こればかりは、いきなりやろうと思っても出来るものじゃありませんので、データを壊さない様に実験を繰り返しながら作って覚えていくと良いかと思います。 是非、がんばってくださいね。
お礼
ご回答ありがとうございます。 お礼が大変おそくなって失礼しました。 とても参考になりました。 また質問させていただくと思います。 そのときはよろしくお願いいたします。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
補足の補足: Access アプリケーションを起動するメニューフォームが表示されます。で、各メニューを選択して登録・加工・出力の3作業を行います。各フォームをスムーズに動作させるには、SQL文でもってテーブルデータを検索・参照するのが基本です。出力も同じです。そうして、作業が終わればAccessを閉じます。 以上のユーザの作業ではクエリを操作する場面は一切登場しません。それは、ユーザが勝手にクエリを開いてデータを削除したり変更したりするのを防ぐ為でもあります。そういう危険極まりないデータへの勝手なアクセスを防ぐためにフォームが用意されているのです。開発するシステムは、私的なそれではなくて業務のそれですから・・・。 もちそん、システム開発者が、クエリシステムを利用してSQL文を生成して利用するのは当たり前のこと。それと、テーブルの登録・加工・出力のツールとしてクエリを利用するのは、全く、話が違います。
お礼
ご回答ありがとうございます。 お礼が大変おそくなって失礼しました。 とても参考になりました。 また質問させていただくと思います。 そのときはよろしくお願いいたします。
- imogasi
- ベストアンサー率27% (4737/17069)
元データの入力ミスは、入力結果と原書と、入念にチェックしなければどうしようもない。コンピュターで誤り候補をプログラムで割り出せる事項もあるが、形式的なものが多く、実態との不一致は誤りとすることがむつかしい。 ーー 原書は、多分紙資料だろうが、ペーパーの原書そのものも(記入ミスや聞き取りミス、観察ミスなどで)内容の誤りが、数パーセント起こるでしょう。 これをすれば、絶対防げるというのはあり得ないです。 バーコード読み取りなどのシステムを作るとか、関係者自身が入力するシステムなどを作れば、その関連のミスは、相当改善されるでしょうが。 こんな質問の課題を、「エクセルで処理するか、アクセスで処理するか、」の問題として、質問しているのは、エクセルしか知らない、SE的な勉強をしてない、経験の浅さを感じます。 改善は、専門家の指導を受けて、経験を積むほかないでしょう。すぐにはできないので、関連の本でも読んで概念的な考えでも習得するべきでしょう。 この際、コンピュター関連のミスは、どういうところでどう起こるか、素人なりに、リストアップして、1つずつ考えて、聞いて、勉強するほかないでしょう。 このコーナーは、小さなある課題の、例えば関数の数式の組み立てなはどうするか、などは、質問者が回答の正誤はやってみればわかるので、質問するのは適当と思うが、コンピュターシステムの入力の改善などは、1行の文章説明で済む正解はないので、質問に適さないと思う。 >毎月、データの狂いが生じてしまっていないか、確認する方法も教えて頂けますと幸いです。 コンピュターで見つけられる誤りや誤り候補も、あることはあるので(単体チェック・関連チェック、や正しいマスターと照らし合わせ、件数チェックなど)、思い立って素早く雑プログラムが組めることは、必須のスキルだろうと思う。 ーー データのソートをすると、変な個所にそのデータが現れて、おかしいとわかる、という方法は、すぐできるが、チェックっできる点が限られ、完全ではないし、数が多いと目視チェックが大変。
お礼
ご回答をありがとうございました。 おっしゃる通りです。 しかし、専門の方に今回頼む方向ではないため、それでいいのか、それとも他の方法があるのか知りたく、質問をさせて頂きました。 参考になりました。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
【訂正】 X 登録と参照のどっちにも無関係。 O クエリは、登録と参照のどっちにも無関係。
お礼
再度のご回答をありがとうございました。 クエリは、登録と参照のどちらにも無関係ということですが、それでも、クエリは、使わない方がいいのですか? >Accessのフォームを活用できない初心者向けのサービスです。 これはクエリのことでしょうか?
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
Q1、Accessなら、そのようなミスが起きないようにすることできますか? A1、AccessであれExcelであれ、やり方は一緒です。 Q2、あるならば、具体的な機能や手順をご教示ください。 A2、登録データを温存する形で運用するだけです。 >私の経験の限り、 >Excelは、並べかえで失敗すると、 >データに狂いが生じてしまいますが、 >それに気づけない可能性があると思われます。 それは、登録データそのものを並び替えているからです。登録シートと参照シートを分ければ、その問題は解決できます。登録シート=Accessのテーブル。参照シート=Accessのフォーム。登録と参照のどっちにも無関係。Accessのフォームを活用できない初心者向けのサービスです。ですから、クエリは利用されないが𠮷。
お礼
ご回答をありがとうございます。 >それは、登録データそのものを並び替えているからです。登録シートと参照シートを分ければ、その問題は解決できます。登録シート=Accessのテーブル。参照シート=Accessのフォーム。登録と参照のどっちにも無関係。 とても参考になりました。 >Accessのフォームを活用できない初心者向けのサービスです。ですから、クエリは利用されないが𠮷。 上記のような使い方が、初心者向けということなのでしょうか?フォームは使うようですが… いずれにしてもクエリを使わなくてよいのなら、私にとってもよいです。
- washi-washi
- ベストアンサー率38% (225/587)
>ひとつ心配があります。 >私の経験の限り、Excelは、並べかえで失敗すると、データに狂いが生じてしまいますが、それに気づけない可能性があると思われます。 Excelの並び替えは、ある列のデータを基にして他の列のデータも並び替えるもので、シート上の入力値を全て入れ替えします。 Accessで入力したデータは、テーブルと呼ばれるもの(Excelで言うならばシート)に保存します。しかしデータの並べ替えはクエリ(SQL言語を可視化したもの)で並び替えますので、実際のシートが並び変わる事はありません。 クエリの作り方によっては、住所で並び替える事も、趣味で並び替える事も可能です。もっと言えば、並び替えを2列の値にする事もできます。これがデータベースです。 テーブルの値を直接変更しなければ、クエリでテーブルの値が変わる事はありません。
お礼
早速のご回答をありがとうございます。 まさにそのようなことを知りたかったので、とても助かりました。 やはり件数はともかく、ExcelではなくACCESSの方向で行きたいと思います。 とは言え私はaccessのテキストを買ったばかりなので、SQL言語までは及ばないと思いますが、ACCESSを理解できるよう勉強したいと思います。 >もっと言えば、並び替えを2列の値にする事もできます。 これはどのようなことですか? 再度ご教示頂けますと幸いです。
お礼
ご回答ありがとうございます。 お礼が大変おそくなって失礼しました。 とても参考になりました。 また質問させていただくと思います。 そのときはよろしくお願いいたします。