クエリの中の関数


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol018

これならわかるマイクロソフトアクセス活用法
            -->クエリの中の関数
              
発行者:高内 章治 2007年5月30日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】クエリの中の関数

┃【03 - 編集後記    】

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

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

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

今回は、

「クエリの中の関数」

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




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

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

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

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

ここで1つ問題です。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

生年月日 年齢
2000/05/01 ??????
     
関数は、DateDiff関数を使います。

DateDiff関数の構文は

DateDiff(interval, date1, date2)

になります。
この「interval」「date1」「 date」の所にパラメータや項目が入ります。

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

年齢: 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/kyozai/zaiko1.html  

テーブル作成からVBAまでマスターできます。 
「在庫管理システムをアクセスで作ってみよう」教材です。
http://www.sk-access.com/kyozai/zaiko2.html  


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

  •  kohnai★vega.ocn.ne.jp
      (高内:こうない:)
    (メールするときは、★を@に変えてください)

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


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

archive.mag2.com/0000222659/index.html

◎以下のホームページからでもバックナンバーを見ることができます。

http://www.sk-access.com/mailmaga/index.html

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

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

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


1週間でアクセス(Access)のシステム開発ができる〜
「在庫管理システムをアクセスで作ってみよう」教材

「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?

「アクセス(Access)のシステムを無料のSQL Server 2016 Expressへ
移行してみよう」教材

あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2016 Expressバージョンです。)


「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、
アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?



[↑一番上へ]
[マイクロソフトアクセス活用法(メールマガジン)(ホームへ)]
12:420603

アクセス全体

VBA

SQL Server