- 締切済み
ACCESSのレポートで次の行と比較をしたい
こんにちは。いつもお世話になります。 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
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Nii
- ベストアンサー率48% (79/162)
具体的なコードではありませんが、 日付を昇順に並べ、連続している場合は同一のグループに分類するようなロジックを作成。 グループ 日付 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 そのクエリをレコードソースにレポートを作成 フォーマット時に日付の最初と日付の最後を比較し、同一の場合は、日付の最後を非表示にする。 こんな感じでどうでしょう?
- tihit2
- ベストアンサー率17% (4/23)
テーブルをソースに選択クエリーを造り、表示するフィールドを"全て選択"とします。 日付欄フィールドの並べ替えを昇順に指定します。 レポートのプロパティで、ソースを作ったクエリー名に変更します。 クエリーですでに並べ替えを指定していれば、レポートのプロパティで並べ替えを指定する必要はありません。 以上で日付は並べ替えられますが、11/01~11/04 のような表示にする方法は ? です。