【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

Accessで過去の天気をデータベース化したのですが、
年、月、日付などを選択して検索できるよう何かできないでしょうか?

データベースの内容としては
日付、9時、12時、15時、最高気温、最低気温の6項目です。

9時、12時、15時の情報としてはその時間帯の天気情報が書かれています。(例.晴れ、くもり、雨、雪、雷)

A 回答 (5件)

#1です



> →フォーム等から年、月をタブで選択して検索できるようにしたい。
> →これを3つのうちどれかが一致すればそのデータを表示するように
> したい。

記載しているイメージが判らないところが多々あるのでですが、例えばで、記載していきますね

フォームに、
ctl開始年、ctl開始月、ctl終了年、ctl終了月
ctl条件_9時、ctl条件_12時、ctl条件_15時
の抽出条件用のコントロールを配置
ctl開始年、ctl終了年は、西暦4桁数値または空白
ctl開始月、ctl終了月は、1~12の数値または空白
を入力
ctl条件_9時、ctl条件_12時、ctl条件_15時は、それぞれ
> 例.晴れ、くもり、雨、雪、雷
が入力される予定
で、抽出開始用のコマンドボタンを配置
そのVBAに、クリック時のイベントに「Me.Requery」を記載

で、クエリの作成に戻って、
(ここは、クエリの作成で見えるSQLビューに切り替えて、下記のSelectから;までを貼り付け、[フォーム名]、[テーブル名]は、現状に合わせて書き換えてから、デザインビューに切り替えてみてください)

Select [テーブル名].*
From [テーブル名]
Where (日付 >= DateSerial(Nz([Forms]![フォーム名]![ctl開始年],1900),Nz([Forms]![フォーム名]![ctl開始月],1),1)
And 日付 <= DateSerial(Nz([Forms]![フォーム名]![ctl終了年],Year(Date())),Nz([Forms]![フォーム名]![ctl終了月],12)+1,0))
AND ([9時] = [Forms]![フォーム名]![Ctl条件_9時]
OR [12時] = [Forms]![フォーム1]![Ctl条件_12時]
OR [15時] = [Forms]![フォーム1]![Ctl条件_15時])
ORDER BY 気象.日付;

と、いう感じ
で、先のフォーム名を上記のクエリ名をレコードソースにして、帳票フォームあたりで、体裁を整える感じかな?

大体以上だけど、記載している意味わかるかな?
    • good
    • 0
この回答へのお礼

解説、ありがとうございます。
Accessは利用したことがないので全くわからないですね。
フォームの作り方?、クエリのSQLビュー?

SQL文は少しだけなら分かりますが、苦手です。

お礼日時:2008/09/16 11:57

#1です



> 年、月、天候などデータを入力もしくは選択するなどして
> 該当するデータを表示するようにしたいのですが、
> どのようにしたらできますでしょうか?

クエリベースに、フォームを作れば、何とでも出来るよ
フォーム上に、入力もしくは選択の作りこみ次第になるけど・・・

日付から、Year関数で年を、Month関数で月を、出せば条件と出来るし、
9時、12時、15時のところに、or条件で、天候を条件とすれば、それも可能

まずは、クエリを作りこんでから、フォームを作りこむって感じなんだけど・・・実際、クエリのイメージが最初だと難しいから、フォームからどういう条件を入力するか?作ってみるのが良いかな?

それが出来たら、その条件を具体的に出して、クエリをどう作成するか?
質問出してみると言う感じで・・・

この回答への補足

クエリを作成してみました。
フィールド:"日時"、"9時"、"12時"、"15時"、"最高気温"、"最低気温"

全てのフィールドを表示

日付のフィールドで抽出条件を範囲指定して表示できるようにする。
9時、12時、15時のフィールドに天候情報を入力することで
指定期間での天候が一致した情報を表示する。
現在の抽出条件
"日時"→>#2005/04/30# And <#2005/06/01#
このようにある期間のデータだけを抽出する。
更に9時、12時、15時における天候データで指定された条件
検索をできるようにしたい(AND検索、OR検索)

改善したい点
日付の範囲指定を変更する際はクエリ書き直す必要がある。
→フォーム等から年、月をタブで選択して検索できるようにしたい。

天候データの検索でいずれかが、条件に一致するデータを表示したい。
(OR検索?)
"9時"、"12時"、"15時"全てに"晴れ"と入力しただけでは全てが一致したものが表示される。
→これを3つのうちどれかが一致すればそのデータを表示するようにしたい。

どうすればできるでしょうか?

補足日時:2008/09/12 14:46
    • good
    • 0
この回答へのお礼

迅速丁寧な返答ありがとうございます。
少し自分でトライしてみます。

お礼日時:2008/09/12 14:06

テーブルで検索するなら検索機能を、また条件を満たすレコードを抽出するなら選択フィルタやフォームフィルタの機能をお使いください。



選択クエリを使って、条件に合うレコードを抽出することもできます。

これらはどんな入門書にも説明があります。今後のためにも、手元に1冊用意されたらどうでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そうですね、何かいい書籍があればいいのですけども

お礼日時:2008/09/12 15:04

可能ですが・・・


すでに WEB上で 公開されてまして 全国各地の 過去データを最近のものなら
10分間隔で 検索できます。

以前に自分の居住地付近のDBを造ったのですが さすがに気象庁は
強力ですので 3年前よりこれをいつも使ってます。

いいものはドンドン利用しましょう。

参考URL:http://www.data.jma.go.jp/obd/stats/etrn/index.php
    • good
    • 0

> 年、月、日付などを選択して検索できるよう何かできないでしょうか?



「出来るよ」って、終わるよ
具体的に、どうしたい?って、記載していかないと、質問が漠然としてるけど?

この回答への補足

質問が漠然としていて、すいません。
どのような感じでできるのかわからないですが、

年、月、天候などデータを入力もしくは選択するなどして
該当するデータを表示するようにしたいのですが、
どのようにしたらできますでしょうか?

補足日時:2008/09/12 11:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報