Accessで覚えておくべき事を5分で解説

2019年9月17日

Pocket

Accessはテーブルとクエリで作成する

テーブルはデータそのもの
これは触らない

クエリ

Excelで言う数式・フィルタ・並び替え・ほかマクロも含め一緒くたにしたような感じの機能。
ものすごくパワフルだが、あまりにも色々出来すぎて壁が非常に高い
まずはselectクエリに絞って覚えた方が良い

テーブルを表示させ、フィールドを追加し、フィルタを書ける
(抽出条件に入力する)

これが出来れば後は徐々に覚えて行けるだろう

フィルタ

フィールドを選択した後、条件に合致したデータだけを抽出したり、
それ以外を抽出したりする
Excelのフィルタと違い、フィルタしたデータは集計に影響しない

後述のiifと組み合わせるとめちゃくちゃ便利

クエリテーブル

クエリの結果をテーブルとして扱うことが出来る
これまた強力。慣れない内はクエリテーブルを繋いで徐々に変化させて行くと良い

リレーション

excelで言うvlookupやindexmatch
これが無いと始まらないが、敷居は若干高い
線で繋ぐだけなのに最初はなかなかうまく行かない

フォーム

Excelのマクロに近い
色々自動化出来るが、まずはしっかりとクエリを覚えた方が良い
レイアウトビューとデザインビューは基本的に同じ物。
昔はデザインビューしか無かったが、より使いやすくするためにレイアウトビューが実装された
基本的にはレイアウトビューでざっくりと作成し、細かい所はデザインビューで修正すると良い
サブフォームで様々なクエリを出力するという使い方が良い感じ
クエリの結果には編集ロックを書けておかないとえらい事になるので要注意

レポート

selectクエリを見やすい形に出力出来る
差し込み印刷がイメージ的に近い
データを扱うだけなら特に不要
フォームの方が扱いやすい場合もある

like演算子

Excelで言う
“*検索語句*”
的な物
“あいうえお” like “*うえ*”
はtrueになる

演算子が単語なのはちょっと気持ち悪いが、まぁこんなもんと覚えよう

iif

Excelで言う作業列
Excelと違うのは非常に軽い事

iif([名前] like “山田”,1,0)
とし、
フィルタに1を設定すると、名前に山田が入る人だけが抽出される

iifは入れ子にもできる
iif([都道府県] like “山”,”山がつく”,iif([都道府県] like “川”,”川が入る”,”山と川が入らない”))
作業列を作りまくることができるが、あまり深い入れ子になるようならテーブルを作り、リレーションにしたほうが良いだろう
個人的には3階層以上はつくらない方が良いと思う