Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Home Premium : Access 2003)
コンボボックスで西暦の抽出
投稿日時: 18/03/04 19:41:45
投稿者: かおりん

 フォ−ム上でコンボボックスを使い西暦の抽出をしたいです。
 
例えば2018を選べは2018のみ抽出。設定をお願いします。
 
日付/時刻型
2015/8/1
2016/8/5
2016/8/7
2018/1/3

回答
投稿日時: 18/03/05 10:13:38
投稿者: hatena
投稿者のウェブサイトに移動

もう少しフォームの構成等を詳しく仕様を説明してほしいですね。
 
とりあえず、下記のような仕様だと推測して回答します。
 
抽出対象のテーブルと連結した帳票フォームのフォームヘッダーにコンボボックスが配置してあり、そのリストに西暦(今年の前後5年分)を表示して、そのリストを選択すると、「日付」が指定した西暦のレコードに抽出される。
 
帳表フォーム名 フォーム1
対象フィールド名 日付
コンボボックス名 cb西暦
 
@レコードソースのクエリの設定
 
レコードソースのテーブルからクエリを作成して、「日付」フィールドの抽出条件を下記のように設定する。
 
>= DateSerial(Forms!フォーム1![cb西暦],1,1) AND < DateSerial(Forms!フォーム1![cb西暦]+1,1,1)
 
このクエリを帳票フォームのレコードソースに設定する。
 
Aコンボボックスのリスト用のテーブルの作成
 
下記のテーブルを作成する。
テーブル名 T_Num
フィールド Num 数値型
このフィールドに -5 から 5 までの連番を入力。
 
B西暦コンボボックスの設定
 
名前 cb西暦
値集合ソース SELECT Year(Date()) + [Num] AS 西暦 FROM T_Num;
 
コンボボックスの「更新後処理」のマクロに「再クエリ」を設定。
 
 
以上てす。

トピックに返信