2024年10月13日

AccessでデータをImportする方法

AccessでデータをImportする方法は、Access事態の機能で行うことが可能である。
EUC(エンド・ユーザー・コンピューティング)でシステム化を行う場合、いきなり総てを作り上げるような計画は立てない方が良い。
先ずは、必要な事で、簡単に作成できる事から始めると良い。
例えば、ExcelやCSVファイルなどのデータの取込は、最初はマニュアルで行って居るかも知れない。
其れを少しでも自動化するならば、Macroの作成から始めると良い。
Macroとは、Accessのオブジェクトの一つで、処理を自動化する方法の一つだ。
VBAの様なコードを書かずに大抵の処理を行うことが出来る。
私も最初はMacroから始めた。
Importするファイルが決められたフォルダに格納され、データ事態のフォーマットも固定の場合は、Macroで自動的にImportすることが可能だ。
Macroには、データの抽出をするQueryの操作も出来る。
Importしたデータをデータ処理することも可能なのだ。



Macroは処理手中に沿って、処理を記載して行く。
実は、この形式のMacroはExcelにも存在する。
マッキントッシュ時代のExcelには、VBAでは無くMacroで処理を自動化していた。
Versionで言えば、Excel4.0である。
WindowsにExcelが入ってきたのは、Lotus1-2-3に対抗するためである。
VersionではExcel5.0である。
WindowsにExcelが入ってきて、Excelの自動処理はMacroはVBAに移行した。
しかし、Macroの作成機能は残っており、Excel97辺りまでマクロの作成が出来たのでは?
と記憶している。
Excel5.0からピボットテーブルという回転計算機能も新たに搭載された。
このピボットテーブルは、集計作業が簡単にできる優れものとして、重宝された。
因みに、Accessは日本に入ってきたのは1990年辺りからで、Versionは2.0からだ。
16ビットのAT互換機でデスクトップ型のデータベースは、正直、かなり力不足のソフトウェアだった。
Accessが一般業務で使える様になったのは、Access2000からだろう。
32ビットOSに対応したデスクトップデータベースは、ファイル共有型のデータベースとして可能性を広げていた。
私が本格的にAccessを使い始めたのも、Access2000からである。



2024年10月11日

システムツールを使う人間が自分達の使いやすいように作ること

今回からAccessを中心に書いて行こうと思う。
システム化と言うと、敷居が高いように思える。
EUC(エンド・ユーザー・コンピューティング)は、システムツールを使う人間が自分達の使いやすいように作ることを指している。
つまり、システム化は使う人間の使いやすいようにつくって良いのだ。
では、どこから作れば良いのか?



システム化したい事を整理する:
システム化とは、具体的にはコンピュータで処理しやすいデータにして、其れを使い易いと思う方法で利用することである。
Excelの場合、Cellに入力したデータを集計したり、グラフ化したりする。
その作業がルーティーン化するのなら、データを用意したら、クリック一つで差牛追うが終わるように工夫することだ。
集計作業には集計関数を使う、集計したデータを一覧表にするのなら、罫線を引いたりと装飾する。
定型の書式が決まっているなら、その書式にデータが載る様に仕組みを作るのがシステム化だ。



マニュアルで行っている作業の流れをデータを中心に図化してみる:
EUC(エンド・ユーザー・コンピューティング)でのヒアリングは、手作業で行っている事を一つ一つ、何故そうやって居るのかを確認する。
そして、最終的にその作業の成果物は何になるかを確認する。
元のデータは何から始まるのか、どこから提供されるのか、そのデータは使った後はどうなるのか等の細かい事も確認する。
途中で試算表の様なモノを作るのであれば、その試算表の項目なども確認する。
最初は、マニュアルで行っている作業の整理から始めるのが一般的だ。
そうした確認した作業手順を図化すると、何をすれば良いのかが判ってくる。



データを用意する:
AccessではTableというオブジェクトにデータを格納してから総てが始まる。
一般的に、Tableに人間がデータをExcelのように登録することは殆ど無い。
Excelやテキスト形式で保存されているデータなどをAccessに取り込んで使うのが一般的だ。
Excelでも、テキストファイル(.txt.csv)等の拡張子ファイルのImportやデータ変換をしてExcelで利用できる形にする。
それと同じ考え方だ。
AccessもExcelのSheetをTableにしたり、テキストファイル(.txt.csv)からデータをTableに取り込む事が可能なのだ。



2024年10月10日

ExcelとAccessの違い

私はデスクトップデータベースのエンジニアを生業としている。
EUC(エンドユーザーコンピューティング)の専門家としても多くの企業に支援をしてきた。
そこで、過去の経験も含めて、ExcelとAccessというソフトウェアについて、書いてみたいと思う。
今回はExcelとAccessの違いについて書いてみたいと思う。





先ず、Excelだが、表計算ソフトとしてWindowsにはVersion5.0から登場している。
では、それ以前のVersionはあるのか?
Windowsの前はマッキントッシュで使われていた。
私も始めてExcelを利用したのはマッキントッシュだった。
Excelは表計算ソフトウェアである。
セルと呼ばれるオブジェクトに値や数式を入れて演算結果やグラフ表示といった結果を表示する。
また、マクロ(VBA)と呼ばれるプログラムを組んで、セルの値を操作して自動処理を行う事が出来る。
Excelには扱えるデータの数がヴァージョン毎に決まっている。
Excel2003までは、行数が65536、列数は256
Excel2007以降では、行数が1048576、列数は16384となっている。
Accessはデータベースソフトウェアだ。
Excelの様にTableというオブジェクトにデータを格納する。
Accessの場合、行列文字数に制限は無い。
但し、WindowsというOSにはExcelやAccessなどのオフィス製品のデータ容量に制限がある。Office製品で扱えるデータ容量は最大2GBと決まっているのだ。
だから、ExcelもAccessも扱えるデータの容量は同じだ。
※Accessは分割リンクして2GB以上のデータを参照は出来る。





ExcelやAccessは利用するパソコンのメモリの搭載容量で処理速度がかなり変わってくる。特にExcelは利用するデータを総てBookというファイルに格納しなければならない。
容量の大きくなったExcelのBookを開くのは、メモリの少ないパソコンでは時間が掛かる。また、Excelの場合総ての処理がメモリ上に展開されて行うので、何かトラブルがあった場合は、総てのデータ及びマクロなどが損傷する可能性がある。
Accessの場合、一つのAccessFileの中にデータと制御系のオブジェクトを格納した場合のみ、Excelの様に読み込みに時間が掛かる。
しかし、Accessを使い慣れると、ハードリンクという機能を使う様になり、大きなデータはバックエンドDBとして、別ファイルに格納する。
制御系のAccessFileをフロントエンド、データのみのAccessFileをバックエンドと呼ぶことが多い。
Excelのオブジェクトは、Book、Sheet、Cell、Module(VBA)、Macro(旧Excel機能)、フォーム(VBA機能)等がある。
Accessのオブジェクトは、Table、Query(SQLでの抽出機能)、Macro(自動処理)、Module(VBA)、Form、Report等が有る。
ExcelとAccessの視覚的な違いは、最初に立ち上げたときに、ExcelはSheetが表示され、Accessは各オブジェクトが剥き出しに表示される。
ExcelもAccessもデータの検索エンジンは同じなので、データの抽出の早さは変わらない。ExcelとAccessの使い分けの基準になることは、システム化をするかしないかである。
システム化とは、個人で使うだけで無く、複数の人間が同じデータを使ってデータを利用するか否かである。
だから、一般的に個人宅でAccessを導入している人は少ない。
但し、データ件数が数万件レベルで複数のデータを同期させる様な場合、Excelでは管理しにくくなる。
そうした場合にAccessを導入すると便利だ。
Excelには無いが、Accessにはリレーションシップという機能がある。
Table間の共通した項目に関連性を持たせてリンクさせる機能だ。
また、データベースはデータベースの原子性という機能があり、設定した項目を主キーとした場合、そのキー項目は絶対に重複しない。
Excelに比べてデータの信頼性が高くなる。
こうした違いを踏まえて、ExcelとAccessの使い分けをすると良い。



Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: