A 回答 (9件)
- 最新から表示
- 回答順に表示
No.9
- 回答日時:
#7です。
回答が分散し、#5、#6、#7の中で分かりづらい表現があったので、一つにまとめ、表現を変更しておきます。実行結果は同じです。
(1)
日付があるフィールドを「日付」とします。
以下で月の最終日が取れます。クエリの
名前を「Q最終日」とします。
SELECT Max(Temp.日付) AS 最終日
FROM テーブル1 AS Temp
GROUP BY Format(Temp.日付,"yy/mm");
(2)
Q最終日とテーブルとの組み合わせで最終日のデータを
取り出すクエリ。テーブル1とテーブルのフィールドを
項目1、項目2とします。フィールド数は必要に応じて
増やしたり減らしたりしてください。
SELECT テーブル1.日付, テーブル1.項目1, テーブル1.項目2
FROM テーブル1 INNER JOIN Q最終日 ON テーブル1.日付 = Q最終日.最終日;
(3)
一つのクエリで最終日と最終日のデータを取り出すクエリ。
(1)と(2)の合成です。質問と補足の内容にはこれでいいでしょう。
(2)と同様に、必要に応じてフィールド数は減らしたり増やし
たりしてください。
SELECT テーブル1.日付, テーブル1.項目1, テーブル1.項目2
FROM テーブル1 INNER JOIN (SELECT Max(Temp.日付) AS 最終日
FROM テーブル1 AS Temp
GROUP BY Format(Temp.日付,"yy/mm")) AS T1 ON テーブル1.日付 = T1.最終日;
No.8
- 回答日時:
>例えば、9月27日が9月の最終データ
これをクエリでやるには、
基になるデータから、クロス集計クエリで、
縦軸に基のデータの年月、集計列に日の最大、横軸に基のデータの日、とする。
これの「年月」「日の最大」から、グラフ出力対象の日が求まります。
仮に、その月が「01」日の分しかなかったら「01」。
1月だから・・・31、2月だから・・・29、ではないです。
発生データ内での月単位の末日を出せます。
ただし、まったくデータのない月は考慮が必要です。
これと前述の考えとの組合わせで良いです。
No.7
- 回答日時:
結合したSQL文が少し変更されていたので、
以下で張り付けてください。
SELECT テーブル1.日付, テーブル1.項目1, テーブル1.項目2
FROM テーブル1 INNER JOIN (SELECT Max(Temp.日付) AS 日付の最大
FROM テーブル1 AS Temp
GROUP BY Format(Temp.日付,"yy/mm")) AS T1 ON テーブル1.日付 = T1.日付の最大;
Accessはサブクエリを読み込んで一旦デザインビューで
保存すると、場合によっては変な変更をするので#6の
結合したSQL文をそのまま張り付けて実行するとエラーが
出る可能性があるので上記のSQL文を使ってください。
No.6
- 回答日時:
#5です。
なお、必要なフィールドを追加する場合は、#5を応用して、フィールドを項目1、項目2とすると、
#5のクエリをQ最終日とすると、
SELECT テーブル1.日付, テーブル1.項目1, テーブル1.項目2
FROM テーブル1 INNER JOIN Q最終日 ON テーブル1.日付 = Q最終日.日付の最大;
あるいは、すべて結合して、
SELECT テーブル1.日付, テーブル1.項目1, テーブル1.項目2
FROM テーブル1 INNER JOIN [SELECT Max(Temp.日付) AS 日付の最大
FROM テーブル1 AS Temp
GROUP BY Format(Temp.日付,"yy/mm")]. AS T1 ON テーブル1.日付 = T1.日付の最大;
のようになります。
No.5
- 回答日時:
日付があるフィールドを「日付」とします。
以下で月の最終日が取れます。
SELECT Max(Temp.日付) AS 日付の最大
FROM テーブル1 AS Temp
GROUP BY Format(Temp.日付,"yy/mm");
月末ではないということなのでこれで
どうでしょう。
No.4
- 回答日時:
月末日だけを抜き出したい時は少しだけVBAの世話になります。
(または、構造の同じ新規テーブルを作成し、月末だけを選んで手動コピペ)
Alt + F11 を押してVBE(visual basic editor)の画面を出します。
メニューから、挿入→標準モジュールと選んでゆくと新たなウィンドウが出ますので
下記をコピペ
Function FncIsGetumatu(ByVal sDay As Date) As Boolean
FncIsGetumatu = Day(sDay + 1) = 1
End Function
終わったらメニューのデバッグから、○▽のデバッグがありますので選択
(○▽はそちらの状況によって変わります)
エラーが出なかったら、Alt + F4 で閉じます。
次に、新たなクエリーを作成します。
そちらのグラフで使うフィールドに合わせて作ってください。
で、多分、日付のデータが入っているフィールドがあると思いますので
名前が仮に、『日付』だったとします。
この『日付』の抽出欄に、
fncisgetumatu([日付])=True
として、データシートビューに切り替えてみてください。
お望みのものが出てくる(かも)と思います。
この関数は、ある日(sDay)の次の日(+1)が一日(=1)であるかどうかで判断しています。
なお、ありえない日にち、2010/9/31 や 2010/2/29 などは考慮してません。
回答有難うございます。なるほど、VBAにより、+1日が1であるかで判別することで、月末データのみ抽出できますね。ただ、質問時の説明が悪かったのですが、月末日のデータが無い月もあります。例えば、9月27日が9月の最終データという場合があります。従って、正確に言うと、月末日のデータを抽出というよりも、月の最後のデータを抽出したいというのが、ゴールイメージです。また、いい知恵がありましたら教えていただけると助かります。
No.3
- 回答日時:
>9月であれば30日
必ず月末日データが発生するのであれば、
その年単位で12個(1/31、2/28、3/31、・・・)のレコードを別途作っておく、
でもいいのではないでしょうか。月末日テーブル。
クエリを使えば、基になるデータが1か月分あっても1年分あっても
作った月末日テーブルの日付で結合させれば12個の日付指定した分だけ抽出できるかと
思います。
さらに、12個のレコードと出力対象有無のフラグもつければ
8月と9月(の月末日)だけでグラフ作成、も可能になりそうです。
回答有難うございます。なるほど、月末日のテーブルを別途作成し、結合させれば月末データのみ抽出できますね。質問時の説明が悪かったのですが、月末日のデータが無い月もあります。例えば、9月27日が9月の最終データという場合があります。従って、正確に言うと、月末日のデータを抽出というよりも、月の最後のデータを抽出したいというのが、ゴールイメージです。また、いい知恵がありましたら教えていただけると助かります。
No.2
- 回答日時:
特定の月だけなら色々な方法があるけど、2ヶ月以上のデータから
抜き出すとなると面倒そうですね。
> 月末日のデータ用テーブルを日毎のデータと別で作成するという
> ことでしょうか?
そうじゃないのかな?月末日だけの日付テーブルを作って連結するとか。
> 日毎のデータから、クエリで表を作る方法があるのでしょうか?
クエリで1発じゃなくて、VBA で2010年1月の月末、2010年2月の月末、、、
とループを回して該当データを抜き出すような方法しか思い浮かばないです。
月で集約して日の最大値と一致する自己との連結で。。。できるのかな^^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- Excel(エクセル) Excelで日報を自動で作成したい 売上管理シートに入力した売上データを、日報に自動反映させたいと考 1 2023/04/29 18:07
- Excel(エクセル) Excel 売上管理シートに入力した売上データを、日報に自動反映させたいと考えています。 売上管理シ 3 2023/04/29 18:08
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Excel(エクセル) Excelグラフについて 1 2023/05/12 16:26
- 体重計・体脂肪計・体組成計 スマートウォッチや体重計のデータをパソコンで処理できませんか?スマホアプリでは限定的で!? 3 2022/10/09 08:10
- その他(IT・Webサービス) 必要なデータを定形資料に取り込む方法 3 2022/08/26 09:29
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
VBA 別シートの同じ日付の欄に...
-
Accessのデータ型の日付/時刻型...
-
指定日付を起点にして最新日付...
-
【Accessで困っています...
-
BCPでCSV内の文字列をテーブル...
-
エクセル-過去6カ月分の合計を...
-
Access クエリで、レコードの無...
-
SQL Server2005のクエリで「今...
-
【エクセル】指定した日付に一...
-
ACCESSで旬別集計
-
ACCESS フォームで日付を入力し...
-
アクセス97のVBAで日付項目をヌ...
-
ACCESS フォームの非連結の日...
-
Excleピボットでデータのない部...
-
【ピボットテーブル】4月から翌...
-
エクセルで書式設定ではなく、...
-
Accessの日付時刻型から日付、...
-
差込印刷での全角表示について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
Accessの日付時刻型から日付、...
-
アクセスで月単位の抽出
-
VBA 別シートの同じ日付の欄に...
-
Accessのデータ型の日付/時刻型...
-
Excel→Accessへの日付データの...
-
アクセス:既定値に土日含まず...
-
BCPでCSV内の文字列をテーブル...
-
エクセル-過去6カ月分の合計を...
-
Access クエリで、レコードの無...
-
指定日付を起点にして最新日付...
-
【エクセル】指定した日付に一...
-
【Accessで困っています...
-
Accessで日付の比較がうまくい...
-
【vba】日付の形式が勝手に変わ...
-
前のレコードの合計に現レコー...
-
ACCESSの空白をカウントする
-
アクセス97のVBAで日付項目をヌ...
おすすめ情報