So-net無料ブログ作成
クエリ ブログトップ
前の5件 | -

クエリ 日付時刻フィールドの条件について [クエリ]

 日付時刻型のフィールドに対して条件を設定する場合の注意事項です。

 日付時刻型フィールドは、日付と時刻を一緒に格納できますが、日付のみを格納したり、時刻のみを格納する場合などもあります。
 格納されている内容により、条件抽出が思ったようにできない場合がありますので、いろいろな場合の抽出パターンを例に示します。


 このデータに対して、条件抽出を行います。

・日付と時刻が格納された項目の抽出

 基本的なパターン。日付と時刻が格納されている項目を抽出する場合は、日付と日時の両方を指定します。
 SQLのWHEREだと、
WHERE T日時.日付 = #2014/1/12 12:34:56#
 となります。

 日付時刻型の値を記述するときは、「#」でくくります。
 文字列の場合の「"」(ダブルクォーテーション)のようなものです。


 結果。
 同じ日付時刻のレコードが抽出されました。

続きを読む


クエリ UNIONの詳細 [クエリ]

 UNIONを利用すると、複数のSELECTの結果を結合して、一つにまとめられた結果として受け取ることができます。

 記述方法は、結合したいSQLの間に、「UNION」を記述します。

SELECT * FROM Q明細
UNION ALL 
SELECT * FROM Q合計

 上記の例は、2つのSELECTを結合していますが、もちろんそれ以上のSELECTを結合することもできます。
 SELECT … UNION SELECT … UNION SELECT … UNION SELECT
 と、言う具合に、間にUNIONを挟んで記述していきます。

続きを読む


クエリ UNIONの例 [クエリ]

 複数のクエリの結果を別々に取得するのではなく、1つのクエリの結果のようにまとめて取得したい場合、UNION句を使用します。

 ACCESSのクエリでUNION句を利用する場合、いつものクエリデザインの画面ではできません。
 SQL編集画面にして、直接SQLを記述する必要があります。
 いきなりSQLばりばりの例ではわかりにくいと思いますので、クエリデザインを中心に使う場合の手順から説明したいと思います。

 サンプルデータは下図のとおり。

 商品名と金額の項目があるテーブルです。
 これの合計集計を行うクエリを作成し、UNIONで明細と合計行を一度に表示します。

続きを読む


クエリ SQL文でクエリを編集する [クエリ]

 ACCESSのクエリデザイン画面は、SQLの構文が分からなくても、感覚的な操作でクエリを作成することが出来る、とても便利なツールです。
 SQLを直接書けるレベルになっても、キーボードからテーブル名や項目名を入力しなくて良いので、ちょっとした検索や集計をするのに便利です。
 SQLServerやOracleなどの本格的なデータベースを使用するようになっても、ACCESSのクエリの便利さを一度覚えると、ACCESSが手放せなくなります。

 簡単なクエリを作る場合、ACCESSのクエリデザインの画面はとても便利ですが、扱う項目数やテーブル数が多くなったり、複雑な条件を入力する場合や、サブクエリを利用したい場合は、デザイン画面ではやりにくいことがあります。
 複雑な条件の場合は、グリッドに条件を入力していくよりも、WHERE句を直接書いていった方がよりイメージしやすい場合もあります。

 ACCESSでもSQL文を直接入力して、SQL文でクエリを作成することができます。
 操作方法は以下の通り。

続きを読む


クエリ 抽出条件にしたコントロールに入力が無かった場合 [クエリ]

 抽出条件無しと言うことで、全件表示にしたいんだけど、普通に作ると何も抽出されません。
 フォーム コンボボックスで選択された内容でサブフォームの内容を絞り込む
 で、作成したフォームも、このような動作になります。

 データ一覧のクエリは以下の通り。

 抽出条件にコンボボックスを指定しています。
 この方法だと、コンボボックスが空の場合、

 このように何も抽出されません。
 抽出条件が成り立たないので、当然の結果なのですが、コンボボックスで何も指定しなかったら抽出条件無しと言うことで、全件表示されて欲しい場合もあると思います。

続きを読む


前の5件 | - クエリ ブログトップ