Accessとは
Accessとは、McrosoftのDBMS(Database Management System)データベース管理システムです。ただし、データベース管理システムですが、私はSQLServer、Oracle、MySQL、PostgresSQLとは別のDBだと思っています。
わかりやすくて初心者向けです。システム設計が理解できてなくても、システムが作れます。そのかわり機能制限が多いため、汎用性が低く、上級者には使いづらいのです。
私がAccessの情報を書きたい理由
思い切って言いますが、システム屋さんはAccessの仕事が大嫌いです。なぜならAccessの仕事はたいてい素人が作ったものの修正で、設計や作りがめちゃくちゃなんです。システム屋さんは素人の作ったシステムを触りたくないのです。ものすごく非効率だから。ゼロから作り直したい。設計はシステムの要です。だから私たちの職業があるのです。
はっきり言いますが、Accessを使う会社はシステムを外注する予算と時間に余裕が無い会社です。小規模のシステムに多用されるのです。私の経験上、そういう会社の方はものすごい無茶な理想を驚愕の低価格で要求してきます。そしてAccessを使った経験があるから、素人考えでシステム設計に首を突っ込んできます。だからシステム屋さんはAccess仕事が嫌いなのです。
私はAccessからプログラミングを始めました。そこから世界が広がりました。
無茶を言う人もいますが、Accessを使う人は頑張ってシステムとかAccessの勉強をしている人たちです。その頑張ってる人たちの手助けやヒントになればと思って、記事を書いています。
ただし、声を大にして言いたいのは、Accessでシステムを作ることに成功して運用できると、結局は機能が足りなくなって、皆さん他のシステムへ移行するよ、ということ。最初からphpで作ろうや。わかってます。予算下りないんですよね。でもAccessで作って便利なことを理解してもらえれば、きっとphpで作る予算が下りますよ。そのphpを外注するのも大変ですけどね。頑張って!
VBAとは
VBA(Visual Basic for Applications)とは、Microsoftのアプリケーションで使用できるプログラミング言語です。
他のプログラミング言語より、少し簡単です。マクロはVBAがもっと視覚的に単純になった便利機能。
VBAで「フォームを開く」を記述するなら、
DoCmd.OpenForm "F_フォーム"
となります。マクロで「フォームを開く」を作成するなら、下の画像のように、プルダウンから実行したい機能を選択するだけで作成できます。プログラミング言語がわからなくても、誰でも使える便利な機能です。ただし逆を言えばプルダウンの機能しか使えないのです。便利だけど拡張性が弱い。それがマクロです。
オブジェクト
Accessを構成する機能です。使ってるうちに覚えます。
テーブル | Table | フィールド(列・縦) レコード(行・横) | 実データを保存する。 データシートって呼ぶ人がいる。 |
クエリ | Query | SQL アクションクエリ 問い合せ、抽出、結合 | テーブルに条件を指定してデータを抽出する。 |
フォーム | Form | 入出力画面 | 画面をデザインして、VBAで表示やデータを制御します。 |
レポート | Report | 印刷、帳票のデザイン | 帳票などをデザインして、VBAで表示やデータを制御します。 |
マクロ | Macro | 操作を自動化するための命令の集合体 | 制御をリストから選択して操作が可能。 |
モジュール | Module | Visual Basic for Applicationsによるプログラム | 共通関数などのVBAが記述されます。 |