Accessによるデータベース(1) Ver.1-3 2015/11
確 認 事 項 レコード フィールド 主キー
オ ブ ジ ェ ク ト Accessでは,データベースは次の六つのオブジェクトから構成される テーブル クエリ フォーム レポート マクロ モジュール この授業で取り上げる オブジェクト 一つのファイル
Accessの起動と新規作成 ファイルの保存場所とファイル名を指定
テーブル データを格納するオブジェクト ナビゲーションウィンドウ オブジェクトの一覧
大学リスト のデータベース
Accessの起動と新規作成 ファイルの保存場所とファイル名を指定 ここでは,ファイル名は“univ.accdb”とする
大学リストの読み込み(1) univ.txt を読み込む Excelのときと同じもの
大学リストの読み込み(2) 外部データ の テキストファイル
大学リストの読み込み(3)
大学リストの読み込み(4) 先頭行
大学リストの読み込み(5) このまま
大学リストの読み込み(6) 主キー
大学リストの読み込み(7) テーブルであることを 明確にするために “T”を付ける
大学リストの読み込み(8) ナビゲーションウィンドウの T大学リスト をダブルクリック
大学リストの読み込み(9) 主キーの順に並んでいる
と り あ え ず Accessを終了 再度,Accessを起動
univ.accdb を開く
セキュリテイの警告
T大学リスト を開く T大学リスト をダブルクリック
データシート ビュー ビューとは,オブジェクトの表示の仕方
フィールド幅の調整(1) フィールドの境界にマウス ダブルクリック
フィールド幅の調整(2) 他も同様に調整
デザイン ビュー(1) ホーム ⇒ 表示 ⇒ デザイン ビュー
デザイン ビュー(2) フィールドの型などの指定 とりあえず,このまま 主キー
検 索 クエリ
大学名 を検索
大学名 の検索(1) 作成 ⇒ クエリデザイン
大学名 の検索(2) T大学リスト を追加 閉じる
大学名 の検索(3) 検索結果として表示したいフィールドを, フィールドリストから選択し, デザイングリッドに登録する フィールドリスト
大学名 の検索(4) フィールドリストのフィールドをダブルクリック デザイングリッドに登録
大学名 の検索(5) プルダウン メニューで選択することも可能 T大学リスト * は,すべてのフィールドを選択したことになる * は何を意味するか
大学名 の検索(6) 検索条件の設定 2番目のデザイングリッドに 大学名
大学名 の検索(7) 表示 のチェックを削除 抽出条件 に 上武大学(二重引用符は不要) 表示にチェックが あるものが,結果として表示される
大学名 の検索(8) クエリの実行
大学名 の検索(9) クエリの実行結果
大学名 の検索(10) クエリ であることを 明確にするため このクエリの保存 F12 保存先 Q大学名(上武大学)
大学名 の検索(11)
大学名 の検索(12) 表示 ⇒ SQL ビュー 後で データシート ビュー デサイン ビュー
大学名 の検索(13) SQL Structured Query Language
大学名 の検索(14) チェックを入れて,実行してみる このクエリを,デザイン ビューで開く
演 習
演 習(1-1) クエリの結果として,一部のフィールドだけを表示する
演 習(1-2) 表示したいフィールドをダブルクリックする
演 習(1-3) 大学名 と 住所 フィールドだけを表示する例
演 習(1-4) 抽出条件の設定 二重引用符は不要
演 習(1-5) 実行結果
演 習(1-6) SQLビュー
演 習(1-7) このクエリを Q大学名(大学名・住所) という名前で保存
演 習(2-1) 検索する大学名を実行するときに入力するように変更
演 習(2-2) 抽出条件に,[大学名を入力] [ と ] は,半角 大学名を入力 は,実行するときに表示される 表示のチェックを削除 演 習(2-2) 表示のチェックを削除 結果に表示されない なぜ,表示しないのか? 抽出条件に,[大学名を入力] [ と ] は,半角 大学名を入力 は,実行するときに表示される
演 習(2-3) このクエリを実行
演 習(2-4) 群馬大学 を入力した結果
演 習(2-5) このクエリを Q大学名(パラメーター) で保存 データを入力するクエリを,パラメータークエリ
演 習(2-6) SQLビュー
演 習(2-7) 埼玉大学 を入力した結果
学部数で検索
学部数で検索(1-1) 学部数2の大学
学部数で検索(1-2) 実行結果
学部数で検索(1-3) このクエリを Q学部数(2) という名前で保存
学部数で検索(1-4) SQLビュー
学部数で検索(2-1) 学部数2以上の大学 = <> > >= < <=
学部数で検索(2-2) 実行結果
学部数で検索(2-3) このクエリを Q学部数(2以上) という名前で保存
学部数で検索(2-4) SQLビュー
学部数で検索(2-5) 実行結果をもう一度 コードの順にしたい
学部数で検索(2-6) デザイン ビューにする
学部数で検索(2-7) コード をグリッドに追加 並べ替え にマウス プルダウンメニューで昇順 表示のチェックを削除
学部数で検索(2-8) 実行結果 上書き保存
学部数で検索(2-9) SQLビュー
S Q L 入 門 読めるようになってもらいたい
S Q L(1) SELECT フィールド FROM テーブル 指定したテーブルから,指定したフィールドを選ぶ(表示する)
S Q L(2) WHERE で選ぶレコードの条件を指定 大学名 が 上武大学 テーブル T大学リストの レコードで,フィルード大学名が 上武大学のものを抽出し, フィールド大学名と住所を表示する WHERE で選ぶレコードの条件を指定 大学名 が 上武大学
S Q L(3) 選ぶフィールドが * すべてのフィールド
S Q L(4) レコードの選択条件が変わる
S Q L(5) SELECT 表示するフィールド FROM 対象とするテーブル WHERE 抽出するレコードの条件
S Q L(6) ORDER BY 表示する順序の指定
演 習 演習問題を提示したら,まず考えさせる
演 習(3-1) 学部数をパラメーターとして入力して,該当する大学を検索するクエリ Q学部数(パラメーター)
演 習(3-2) パラメーター クリエ どこに書き込むか?
演 習(4-1) 演習(1-1)のクエリを パラメーターとして入力した学部数以上の大学を検索する に変更する
演 習(4-2)
演 習(4-3) 実行結果(2以上) 演習(5) 学部数の昇順にする 同じ学部数の場合は,コードの昇順にする
演 習(5-1) 並べ替え を指定したものが複数あるときは,左から順に適用
演 習(5-2) 実行結果
演 習(5-3) SQLビュー
郵便番号で検索
Excelでの例 370で始まる 370又は372で始まる 370で始まり,00を含む
ワイルドカード * 任意の文字列 ? 任意の1文字 * ? は,半角
“AND”と“OR” “条件1” AND “条件2” “条件1”かつ“条件2” 二つの条件を共に満たす “条件1” OR “条件2” “条件1”又は“条件2” 二つの条件のうち,少なくとも一つを満たす 二つ共に満たしても良い
郵便番号370で始まる大学
郵便番号370で始まる(1) 370 でなく,370* 表示のチェックを削除
郵便番号370で始まる(2) 370* と入力すると Like “370*” となる
郵便番号370で始まる(3) 実行結果 このクエリを Q郵便番号(370) という名前で保存
郵便番号370で始まる(4) SQLビュー
郵便番号370又は372で始まる大学 “又は” ⇒ OR
郵便番号370又は372で始まる(1) 郵便番号の,抽出条件に 370*
郵便番号370又は372で始まる(2) または: にカーソル移動 抽出条件が書き換わる または: に 372*
郵便番号370又は372で始まる(3) このクエリを実行
郵便番号370又は372で始まる(4) Q郵便番号(370又は372) という名前で保存
郵便番号370又は372で始まる(5) SQLビュー
郵便番号が370で始まり,00を含む大学 “かつ” ⇒ AND
郵便番号が370で始まり,00を含む(1) 抽出条件に 370*
郵便番号が370で始まり,00を含む(2) デザイングリッドに 郵便番号を追加 そこの抽出条件に *00* *00* 00 の前後に任意の文字列 00 が文字列に挟まれている
郵便番号が370で始まり,00を含む(3) このクエリを Q郵便番号(370かつ00) という名前で保存
郵便番号が370で始まり,00を含む(4) SQLビュー
AND と OR(1)
AND と OR(2) クエリ Q郵便番号(370かつ00) のデザインビューをもう一度表示する このような条件を最初から入力してもよい
AND と OR(3) 同様に クエリ Q郵便番号(370又は372)
AND と OR(4) 今までの例は,郵便番号だけに関するもの 郵便番号が370で始まり,かつ学部数が2の大学 郵便番号が370で始まる又は学部数が2の大学 ひとつずつ考えさせる
AND と OR(5) 郵便番号が370で始まり,かつ学部数が2の大学 実際に入力するのものは370*
AND と OR(6)
AND と OR(7) 郵便番号が370で始まる又は学部数が2の大学 または: の行に
AND と OR(8)
ワイルドカード 補足
[ ] (1) [123] は,1,2 又は 3 を表す [ ] は半角 郵便番号が 371,372 又は 373 で始まる大学の大学名と郵便番号を表示するクエリ
[ ] (2)
[ ] (3) Qワイルドカード(補足)で保存
[ ] (4) SQLビュー
[ ] (5) [1-3] としても同じ結果になる ただし,[3-1」ではダメ
[ ] (6) [!0] は“0以外”を意味する “0”以外
[ ] (7) [!01] は? “0”,“1” 以外
新 規 作 成
Accessの起動と新規作成 ファイルの保存場所とファイル名を指定
データベースの作成(1)
データベースの作成(2) フィールドの定義
データベースの作成(3) データ型の変更
データベースの作成(4) 身長のデータ型をクリック
データベースの作成(5) フィールドサイズを“単精度浮動小数点型”に変更 同様に“体重”も
デ ー タ 型(一部) テキスト型(最長255文字) 数値型 バイト型(0~255) 整数型(-32768~32767) 長整数型(-2147483648~2147483647) 単精度浮動小数点型(-3.4×1038~3.4×1038) 倍精度浮動小数点型(-1.797×10308~1.797×10308)
レコードの入力(1) データシート ビュー
レコードの入力(2) 各フィールのデータを入力
日付の検索
フィールドの値を使った計算(1) BMI 体重(Kg) / 身長(m)2 単位に注意
フィールドの値を使った計算(2) BMI : [体重]/([身長]/100)^2 ^2は二乗
フィールドの値を使った計算(3) BMIのフィールドの幅を広げる
フィールドの値を使った計算(4) BMI : [体重]/([身長]/100)^2 ↓ ↓ BMI : round( [体重]/([身長]/100)^2 ,1)
フィールドの値を使った計算(5)
フィールドの値の集計(1) 身長の平均を求める “身長”を登録 “身長”の変更 実行
フィールドの値の集計(2) デザイン ビューに戻す
フィールドの値の集計(3) 別の方法
フィールドの値の集計(4) “身長”を登録 実行する “平均”に変更