Access Tips

 Accessを利用するにあたってちょっと役立つかもしれない知識について、本編からの抜粋を含めいくつか紹介します。
 実用性を無視したネタみたいなものがかなりありますがご容赦を_ _)


目次

基本操作・設定

内容重要度難度
テーブル、クエリ等をタブではなく同時に開いて見比べる設定★★★
列をウインドウ内の右側から並べる
ファイルを開いたときにフォームを自動的に表示する★★★
ファイルのバックアップを作成する★★★
ファイルのパスワードを設定する
1つ前のレコードと同じ値を入力する
最適化によりファイルをメンテナンスする★★★
Accessを最新の状態に更新する★★
サンプルデータベース(ノースウインド2007)を利用する
マイクロソフトにフィードバックを送信する
プロパティシートを移動または固定する
CSVファイルをインポートする★★
システムオブジェクト(システムテーブル)を表示する
ナビゲーションウインドウの幅を変えられなくなったときの対応
隠しオブジェクトを作成(表示)する
コントロールの大きさと位置を揃える
リボン上のボタンを大きく表示する(タッチモード)
長さの指定の際に使える単位

テーブル

内容重要度難度
値要求と空文字列の許可の効果と注意点★★★★
空文字列(長さ0の文字列)を入力する
ふりがなを自動的に入力する
テーブルに列の合計等を表示する行(集計行)を表示する★★
主キーは1つのテーブルに1つだけ★★
添付ファイル型に設定できない場合
日付を和暦で表示する★★★
テーブルのデータを変更(追加・更新・削除)させない★★
列を固定する
日付から曜日を求める★★★
未入力のフィールドに代わりの文字列を表示する
郵便番号から住所を(住所から郵便番号を)自動入力する★★
プラス・マイナス・ゼロの数値の表示方法あれこれ★★★
全角文字のみ入力させる
インデックスを自動的に作成する設定
添付ファイル型のフィールドの名前を表示する
入力規則を追加・変更したときにNull値がエラー扱いされる
自テーブルをサブデータシートにして自動展開するとどうなるか
複数の列に関係する入力規則の設定★★★
数字のゼロ埋め(ゼロパディング)をする★★
改行を禁止する

リレーションシップ

内容重要度難度
主キーが複合キーである場合の参照整合性等の設定★★★★★
主キーではなくインデックスを利用する参照整合性等の設定
1つのテーブルにある複数の外部キーが同じ主キーを参照している場合の参照整合性等の設定★★★★
参照整合性の設定時における代表的なエラーと対応例★★★★★
リレーションシップとそれに類似する機能や考え方の区別について★★★
Null値に対する連鎖更新と連鎖削除の挙動について★★
リレーションシップの設定画面の内容を印刷する

クエリ・SQL

内容重要度難度
クエリを開いたときにMsgBox関数でメッセージを表示する
同じ行を2行ずつ出力するクエリ
縦持ちデータを横持ちデータに変換する★★★★
横持ちデータを縦持ちデータに変換する★★★★
縦持ち・横持ちの変換、クロス集計、行列の入れ替えの違い
テーブルに依らないクエリ
クエリで抽出条件としてNull値を指定する★★★
SQL集合関数を列方向(横方向)に用いて集計を行う★★★★
レコードごとに複数の列の値を比較して最大値を求める★★★★
UNIONとUNION ALLを併用した場合の結果
クエリですべての列が表示されてしまう設定
クエリの「固有の値」プロパティと「固有のレコード」プロパティ★★
DISTINCTとDISTINCTROWの違い
期間の重複をチェックする★★★★
並べ替えの基準となる列を列番号で指定する
循環参照エラーを回避し同名の列を出力する★★
値が何種類あるか数える★★★★
オートルックアップクエリの利用★★★★
「指定した式の構文が正しくありません。」エラーが出る意外な例
パラメータクエリで値を入力しないときにすべてのレコードを返す★★
パラメータクエリにIn演算子を用いて複数の値を抽出する
相関係数を求める
グループごとにn行ずつレコードを抽出する
クエリパラメーターウインドウの利用

フォーム

内容重要度難度
コントロールを矢印キーで少しずつ動かす★★
既定値により自動で連番をふる★★★★★
既定値により欠番を埋めながら自動で連番をふる★★★★
入力時にヒントとなるテキストをポップアップ表示する★★
コンボボックスの2列目以降の値を別のテキストボックスに表示する★★★
コンボボックスの何行目が選択されているかを取得する
選択後のコンボボックスに複数の列の値を表示させる★★
コンボボックスの「区切り文字」プロパティ
チェックボックス等の「トリプルステート」プロパティ
コンボボックス等の「値集合ソースの値のみの表示」プロパティ★★
コンボボックス等の「値リストの継承」プロパティ★★
チェックボックス等の値がNullのときの表示をメッシュ状にする★★
テキストボックス内でEnterキーだけで改行できるようにする
オプショングループ(フレーム)に選択肢を追加する
カレントレコードの背景色を変えて強調する★★
帳票フォームに簡易な行番号(1,2,3…)を表示する★★
存在しない値リストに基づくコンボボックス等が表示される★★
コンボボックス等のスクロールバーを左側に表示する
入力時にテキストボックスをズームさせる
選択中のコンボボックスのリストをコンボボックス本体より広げて表示する★★★
値がNullであることを条件とする条件付き書式の設定★★
コンボボックスに値を直接入力するときに自動的に補完させない(自動拡張プロパティ)

レポート

内容重要度難度
合計値をページ下部に表示する(その1)★★
レポートでオートシェイプを利用する
イメージ(画像)のサイズと縦横比の調整★★
境界線と枠線の設定の違い
ページごとに1から連番をふる★★
文字列の一部だけ書式を変える★★★
レポートでレコードごとに連番をふる★★★
グループ化や並べ替えのキーとして関数を使う
縦書きで表示する★★
ページ番号と総ページ数を表示する★★★
グループごとにページ番号をふる★★★★
縦書きにしたときに文字や数字が横向きになる場合の対応★★
前のレコードと同じ値の場合に「同上」「〃」「々」などを表示する★★
「サブクエリでは、マルチレベルGROUP BY句は使用できません。」のエラーを回避する★★
ページ毎の合計を表示する★★★★

関数と演算子の応用

内容重要度難度
生年月日から満年齢を求める★★★
住所から都道府県を抽出する★★★
クエリでのRnd関数による抽選★★★★
月末の日付を求める★★
直近の日曜日を求める★★
Switch関数でElseに相当する条件(いずれにも該当しない場合)を設ける★★
あかさたな…で行分けする★★
Imp演算子
文字列に1文字ずつスペースをはさむ
半角数字を横書き(縦中横)にした縦書き文字列をつくる★★
四捨五入する★★★
日付から年度を求める★★
数字を漢数字に変換する★★
日付(和暦)の数字を漢数字に変換する★★
円周率を求める
度数とラジアンを変換する
2文字以上の文字列を指定した回数繰り返す
その日がその月の第何週目にあるのかを求める★★
その日の曜日がその月で何回目なのかを求める
常用対数(あるいは任意の底を持つ対数)を求める
月の最初の日曜日(または任意の曜日)の日付を求める
月の最後の日曜日(または任意の曜日)の日付を求める
生年月日から干支を求める
数値の切り上げをする
DateAdd関数による月末の日付から1月後(または1月前)の日付の扱い★★
文字列中にある特定の文字(または文字列)の数を数える
回文を判定する
苗字と名前(姓と名)を分割する★★
文字列の左端や右端(あるいは両方)に並んでいる特定の文字を取り除く
ある日付から満何年何か月と何日経過しているかを求める
カッコなどの囲み文字とその内側の文字列を削除する
数値の大小に基づき順位をつける★★★★★
FLOOR関数とCEILING関数を実現する
濁点と半濁点を取り除く(清音化)★★★★
文字列から数字だけを抽出する★★★★
住所から番地以下を抽出する★★★★
日付を表す文字列を日付型に変換する★★★
いろは順で並べ替える★★
ゼロ埋めされた数値形式の文字列の左側の0を取り除く★★
割り算の余りを求める★★

その他・未分類

内容重要度難度
名前付けの規則(命名規則)と接頭辞
起動中のファイルのパスやファイル名を表示する
正規化の説明に主キーを持ち出すのは大きな誤り★★★
エクスポート時にファイル形式と出力先を選択させる