アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。いつもお世話になります。
ACCESS2000でレポートを作成していますが、テーブルAにある日付のデータを読み込み、
次の行と比較し連続している日付の場合は「2002/11/01~2002/11/03」のように
表示させたいと考えています。

テーブルAの構造は以下のとおりです。フラグが0のものを抽出し、
その日付が連続している場合は表示を変えたいのです。
レポートAがその結果として出てほしいのですが、このようなことは
可能でしょうか。もし可能でしたら具体的な方法(コード)を教えて
いただけないでしょうか。

現在、レポートを開く前にSELECT文で取得したデータを
一行ずつ比較して変数に値をセットしているのですが、
これをレポートのレコードソースに指定することはできるのでしょうか?
どうか宜しくお願いします。

<テーブルA>
-----------------------------
日付     フラグ
-----------------------------
2002/11/01  0
2002/11/02  0
2002/11/03  0
2002/11/04  1
2002/11/10  0
-----------------------------

<レポートA>
-----------------------------
日付     
-----------------------------
2002/11/01~2002/11/03
2002/11/10

A 回答 (2件)

具体的なコードではありませんが、


日付を昇順に並べ、連続している場合は同一のグループに分類するようなロジックを作成。
グループ 日付
1 2002/11/01
1 2002/11/02
1 2002/11/03
1 2002/11/04
2 2002/11/10

グループで集計し、レコードの最初の値と最後の値を取得するクエリを作成。
グループ 日付の最初  日付の最後
1 2002/11/01 2002/11/04
2 2002/11/10 2002/11/10

そのクエリをレコードソースにレポートを作成
フォーマット時に日付の最初と日付の最後を比較し、同一の場合は、日付の最後を非表示にする。

こんな感じでどうでしょう?
    • good
    • 0

テーブルをソースに選択クエリーを造り、表示するフィールドを"全て選択"とします。



日付欄フィールドの並べ替えを昇順に指定します。

レポートのプロパティで、ソースを作ったクエリー名に変更します。

クエリーですでに並べ替えを指定していれば、レポートのプロパティで並べ替えを指定する必要はありません。

以上で日付は並べ替えられますが、11/01~11/04 のような表示にする方法は ? です。
    • good
    • 0

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