スポンサーリンク

2016年6月30日木曜日

SQLビューでSELECT文を使ったSQLを入力する

Access2013のSQLビューで、SELECT文を使ったSQLを入力します。

SELECT文を使うと選択クエリが作成できます。

元になる「品名データ」テーブルです。
元になる「品名データ」テーブル

リボンの[作成]~[クエリ デザイン]をクリックします。
[クエリ デザイン]をクリックする

テーブルの表示が開きますが、選択せずに閉じます。
テーブルの表示は閉じる

リボンの[クエリツール]~[デザイン]~[SQL]をクリックします。
[デザイン]~[SQL]をクリックする

SQL文の入力画面になり「SELECT;」と表示されています。
SQL文の入力画面

ここでは下記のSELECT文を入力しました。

SELECT 商品区分, 商品名 FROM T_品名データ WHERE 商品区分="C3";

「SELECT 商品区分, 商品名」 : 商品区分と商品名フィールドを表示します。
「FROM T_品名データ」 : T_品名データテーブルから選択します。
「WHERE 商品区分="C3"」 : 商品区分が"C3"のレコードを抽出します。
SELECT文を入力する

実行すると、商品区分が"C3"のレコードのみが表示されています。
商品区分が"C3"のレコードのみが表示される

関連する記事
関連する記事
クエリとは
クエリデザインで選択クエリを作成する方法
テーブルやクエリ等の名前を変更する
並べ替えた結果を表示するクエリを作成する
クエリでLike演算子を使いあいまい抽出をする

2016年6月29日水曜日

オートナンバー型の開始番号を指定したテーブルを作成する

Access2013で、オートナンバー型の開始番号を指定したテーブルを作成する方法です。

通常オートナンバー型フィールドが含まれるテーブルを作成すると、開始番号は自動的に1になります。
ここではこれを100から始まるようにします。

新規にテーブルを作成します。(T_品名)
[品名ID]フィールドがオートナンバー型になっています。
作成するだけでデータは入力しません。
新規にテーブルを作成する

別のテーブルを作成します。(T-品名番号)
[品名ID]フィールドは長整数型にします。
別のテーブルを作成する

データシートビューにし、[品名ID]に開始する番号の「100」を入力します。(T-品名番号)
[品名ID]に開始する番号の「100」を入力する

「100」を入力したテーブルでクエリを作成し、リボンの[追加]をクリックします。(T-品名番号)
リボンの[追加]をクリックする

テーブル名に最初に作成した、データが入力されていないテーブルを指定します。
テーブル名に最初に作成したテーブルを指定する

リボンの[実行]をクリックします。
リボンの[実行]をクリックする

「1件のレコードを追加します。」とメッセージが表示されるので[はい]をクリックします。
1件のレコードを追加します

最初に作成したテーブルを開きデータを入力すると、オートナンバー型フィールドの開始番号は「100」になります。(T_品名)
オートナンバー型フィールドの開始番号は「100」になる

関連する記事
関連する記事
オートナンバー型を振り直した新しいテーブルを作成する
オートナンバー型のテキストボックスは停止・入力不可にする
追加クエリを作成する

2016年6月28日火曜日

オートナンバー型を振り直した新しいテーブルを作成する

Access2013で、オートナンバー型を振り直した新しいテーブルを作成する方法です。

下の製品テーブルのIDフィールドがオートナンバー型ですが、一部のレコードが削除され欠番が発生しています。
オートナンバー型は入力できないので、欠番を修正することができません。
そこで番号を振り直した新しいテーブルを作成します。
一部のレコードが削除され欠番が発生しているテーブル

1.オートナンバー型を振り直すテーブルを選択し[コピー]します。
2.[貼り付け]をクリックします。
オートナンバー型を振り直すテーブルを選択し[コピー]し[貼り付け]

テーブルの貼り付けが開きます。

1.新しく作成するテーブル名を入力します。
2.貼り付けの設定から[テーブル構造のみ]を選択し、[OK]ボタンをクリックします。
貼り付けの設定から[テーブル構造のみ]を選択する

新規クエリを作成し、元のテーブルを追加します。

1.オートナンバー型フィールド以外のフィールドを選択します。
2.リボンの[クエリツール]~[デザイン]~[追加]をクリックします。
[クエリツール]~[デザイン]~[追加]をクリックする

追加が開きます。

テーブル名にコピーし貼り付けた新しいテーブルを指定します。
テーブル名にコピーし貼り付けた新しいテーブルを指定する

リボンの[実行]をクリックします。
リボンの[実行]をクリックする

「○件のレコードを追加します。」とメッセージが表示されるので[はい]をクリックします。
これで完了です。
○件のレコードを追加します

新しく作成したテーブルを開くと、オートナンバー型を振り直したテーブルを作成することができました。
オートナンバー型を振り直したテーブルを作成することができた

関連する記事
関連する記事
フィールドデータ型
クエリの実行結果をテーブルとして保存する
追加クエリを作成する
テーブルの構造のみコピーする
同じ構造のテーブルデータを別のテーブルにコピーする

2016年6月27日月曜日

レポートで並べ替えを行う方法

Acess2013で、レポートで並べ替えを行う方法です。

下は使用しているテーブルやクエリの設定のまま作成したレポートです。
これを単価の順で並べ替えます。
テーブルやクエリの設定のまま作成したレポート

レポートのプロパティシートの[データ]タブ~[並べ替え]に「単価」と入力します。
[並べ替え]に「単価」と入力する

これで単価を昇順で並べ替えることができました。
単価を昇順で並べ替えることができた

降順にするには「単価 DESC」と入力します。
降順にするには「単価 DESC」と入力する

これで単価を降順で並べ替えることができました。
単価を降順で並べ替えることができた

複数項目で並べ替えるには、「単価 DESC,数量」のようにカンマで区切ります。

関連する記事
関連する記事
レポートの作り方
レポートで単価と数量から金額を計算する
レポートに罫線を引く
レポートで集計する
印刷レポートにバーコードを追加する

2016年6月25日土曜日

クロス集計の空白表示を0表示にする方法

Access2013で、クロス集計の空白表示を0表示にする方法です。

クロス集計の元になる商品販売テーブルです。
クロス集計の元になる商品販売テーブル

作成したクロス集計のクエリです。
クロス集計の作成は「クロス集計の作成方法」を参照してください。
データがない部分は空白になっているので、0を表示するようにします。
作成したクロス集計のクエリ

販売金額の合計フィールドを下記に変更します。

販売金額の合計: IIf(Sum([販売金額]) Is Null,0,Sum([販売金額]))

「Is NULL」で空白かどうか判定し、IIF関数で空白の場合は「0」を表示するようにしています。

次に[集計]を「合計」から「演算」に変更します。
販売金額の合計フィールドを変更する

これでクロス集計の空白に0が表示されました。
クロス集計の空白に0が表示された

関連する記事
関連する記事
追加クエリを作成する
集計クエリを使いグループ化し集計する
不一致クエリを作成する
更新クエリの作成方法

2016年6月24日金曜日

PMT関数を使い、ローンの月々の返済額を計算する

Access2013でPMT関数を使い、ローンの月々の返済額を計算します。

Pmt(利率 , 支払い回数の合計 , 一括支払いした場合の合計金額 , 最後の支払いを行った後に残る現金の収支(省略可) , 期末に支払う場合は0、各期の期首に支払う場合は1(省略可))

下の「年利」「支払い回数」「金額」からできているテーブルを使います。
「年利」「支払い回数」「金額」からできているテーブル

上のテーブルからクエリを作成し、PMT関数を入力します。

月支払額:Pmt([年利]/100/12,[支払回数],[金額]*-1)
クエリを作成し、PMT関数を入力する

ローンの月々の返済額が計算できました。
ローンの月々の返済額が計算できた

Round関数で小数点以下を四捨五入します。

月支払額:Round(Pmt([年利]/100/12,[支払回数],[金額]*-1),0)
Round関数で小数点以下を四捨五入する

関連する記事
関連する記事
四捨五入 ROUND関数
INT関数を使い小数点以下を四捨五入する
INT関数を使い小数点以下を切り捨てる
小数点以下を揃える 

2016年6月23日木曜日

CHOOSE関数を使い数値から対応する選択肢を表示する

Access2013で、CHOOSE関数を使い数値から対応する選択肢を表示します。

Choose(インデックス, 選択肢1, 選択肢2 …)
インデックスには1からの数値を指定します。インデックス1が選択肢1、インデックス2が選択肢2になります。

下のテーブルの[倉庫番号]フィールドは番号になっているので、倉庫名を表示するようにします。
[倉庫番号]から倉庫名を表示する

クエリを作成しCHOOSE関数を入力します。

倉庫名:CHOOSE([倉庫番号],"大城倉庫","第六倉庫","本社")

倉庫番号が1の場合「大城倉庫」、2の場合「第六倉庫」、3の場合「本社」になります。
クエリを作成しCHOOSE関数を入力する

クエリを実行すると倉庫名が表示できました。
クエリを実行すると倉庫名が表示できた

もしCHOOSE関数に設定していないインデックス数を指定した場合は、下のように空白になります。
CHOOSE関数に設定していないインデックス数を指定した場合空白になる

関連する記事
関連する記事
IIF関数をクエリで使う
DLookup関数
日付が1年以上経過したレコードを削除する

2016年6月22日水曜日

日付フィールドから今日までの経過月数を求める

Access2013で、日付フィールドから今日までの経過月数を求めます。

商品テーブルと入出庫テーブルから作成したクエリです。
この日付フィールドを使用します。
商品テーブルと入出庫テーブルから作成したクエリ

下記の計算式を入力します。

経過月数:=IIF(Format([日付],"dd")>Format(Date(),"dd"),DateDiff("m",[日付],date())-1,DateDiff("m",[日付],date()))

IIF(論理式 , "真の場合" , "偽の場合") : 条件で処理を分ける関数

Date() : 今日の日付を返す関数

Format([フィールド名] , 書式) : 指定して書式で表示する関数

DateDiff(時間単位 , 日付1 . 日付2) : 2つの日付の期間を求める関数

経過月数を求める計算式を入力する

これで、日付フィールドから今日までの経過月数を求めることができました。
日付フィールドから今日までの経過月数を求めることができた

関連する記事
関連する記事
1日でも過ぎると経過月数を+1する
IIF関数をクエリで使う
今日の日付を自動入力する
日付の各種表示形式(Format関数)
format関数をクエリの数値型で使う
クエリでDatediff関数を使う
生年月日から年齢を計算する