これならわかるマイクロソフトアクセス活用法


クエリの中の関数



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                           Vol.018

 これならわかるマイクロソフトアクセス活用法
  -->クエリの中の関数
              
                            発行者:高内 章治 2007/05/30
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓
┃              
┃ 【01 - ご挨拶    】                  
┃ 【02 - トピックス  】クエリの中の関数     
┃                         
┃ 【03 - 編集後記    】                  
┃                               
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

─────────────────────────────────
【01 - ご挨拶    】          
─────────────────────────────────

こんにちは、高内(こうない)です。

今回は、クエリの

    「クエリの中の関数」

についてお話したいと思います。


─────────────────────────────────

【02 - トピックス】: クエリの中の関数

─────────────────────────────────

■クエリでは、いろいろなデータを抽出したり加工することができます。


ここで1つ問題です。


例えば、
生年月日のデータがあります。
クエリで生年月日の横に新しく項目(フィールド)を作って年齢を
計算して入れてください。

あなたは、どうしましすか?

クエリで簡単に作成することができます。

関数(かんすう)を使います。

アクセスもエクセルと同じように関数があります。
でも、アクセスの関数はエクセルと少し異なっていますので
使用するときはヘルプや参考書で調べたほうがよいと思います。

関数は、VBAなどのプログラムの中だけではなくてクエリでも
使用することができます。

この関数を使うことによりいろいろなデータを作成することが
できます。

関数をつかうとクエリを使う幅がぐっと広がります。
どんなデータも作成することができます。

■アクセスの関数の数を数えましたら「213」ありました。
 でも、全部を勉強する必要はありません。
 まず、よく使用する関数の大きな分類を説明します。


・データの変換
 数字から文字や日付などへの変換や文字から数字への変換などが
 できます。

・日付/時刻
 日付や時刻関係の関数です。
 生年月日から年齢を求める関数(DateDiff関数)もここにあります。

・定義域集合関数
 合計、平均、最大値、最小値などの数字の集合に関する関数です。

・算術
 サイン、コサイン、タンジェントなど算術に関する関数です。

・プログラムフロー
 If関数(IIF関数)があります。(エクセルのIF関数と同じです)

・文字列
 文字列から文字を取り出したり変換したり文字数を数えたり
 することができます。 
 文字に関する関数です。



■では、関数のやり方を少し説明します。

上記の年齢を求める場合です。

以下のようなデータがあります。


生年月日   年齢
----------- ------------
2000/05/01 ??????


関数は、DateDiff関数を使います。

DateDiff関数の構文は

DateDiff(interval, date1, date2)
======== ===== =====

になります。
この点線の所にパラメータや項目が入ります。

実際には、次のようになります。


年齢: DateDiff("yyyy",[生年月日],Now())


それぞれを説明します。

年齢:  年齢というタイトル名をつけました。
"yyyy"  が年数で表示しますという意味です。
[生年月日] が生年月日のデータです。
Now() は、今日の日付が自動で入ります。これもNow関数です。


これで、年齢の項目に年齢が自動的に計算されて入ります。

これは、単純に年数の差を出していますので今日の以前と以後で
年齢を分ける場合は、

「生年月日と今日を比較して前だったらそのまま、
後だったら1をマイナスする。」
をIIF関数で作成します。

実際は、次のようになります。

年齢: IIf(Format([生年月日],"mm/dd")<Format(Now(),"mm/dd"),
DateDiff("yyyy",[生年月日],Now()),DateDiff("yyyy",[生年月日],Now())-1)


ちょっと複雑になります。
Format関数で生年月日と今日を年をはずして月と日数にしています。

参考にしてください。

次回は、
クエリの追加項目の作り方で、式ビルダ、関数の調べ方などを
説明したいと思います。
これも役立つ知識です。



─────────────────────────────────
【03 - 編集後記    】       
─────────────────────────────────

前回、PLC「高速電力線通信」のお話をしました。
コンセントでネットワークができます。

実際やってみると、かなり便利ですね。

コンセントさえあれば、どこでもネットワークができます。

でも、ランケーブルより若干スピードが落ちるようです。
気になるレベルではないです。
無線よりは格段に早いです。


◆ホームページを少しづつ頑張って、まとめています。
まだ十分まとまっていませんが、参考にしてください。

http://www.sk-access.com/index.html  
 
◆私がアクセスをマスターできたのは!!
 「在庫管理システムをアクセスで作ってみよう」教材は

http://www.sk-access.com/Kyozai/Zaiko1.html  


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
 
『メルマガでもっとお役にたてる情報を配信したいと思いますので、
日ごろから疑問に思っていることを教えてください。宛先はこちらへ』

 → kohnai@vega.ocn.ne.jp   (高内:こうない)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【発行人】: 高内 章治(こうない しょうじ)
【ホームページ】: http://www.sk-access.com/index.html
【メールアドレス】: kohnai@vega.ocn.ne.jp
【購読登録・解除】: http://www.mag2.com/m/0000222659.html (まぐまぐ)
http://www.melma.com/backnumber_170032/ (メルマ)


◎「これならわかるマイクロソフトアクセス活用法」 の
  バックナンバー・配信停止はこちら

http://archive.mag2.com/0000222659/index.html (まぐまぐ)

   登録・解除につきましてはご自身でお願いいたします。

※このメールマガジンの転送はOKですが、掲載された記事の内容を
許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━





アクセスを使って1週間でシステム構築ができる〜「在庫管理システムをアクセスで作ってみよう」教材
「アクセスでシステムを早く開発したい方」、
「アクセスでシステム開発をあきらめた方」のための
アクセスを使って1週間でシステム構築する究極の方法とは?