• 締切済み

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

みんなの回答

  • Nii
  • ベストアンサー率48% (79/162)
回答No.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 そのクエリをレコードソースにレポートを作成 フォーマット時に日付の最初と日付の最後を比較し、同一の場合は、日付の最後を非表示にする。 こんな感じでどうでしょう?

  • tihit2
  • ベストアンサー率17% (4/23)
回答No.1

テーブルをソースに選択クエリーを造り、表示するフィールドを"全て選択"とします。 日付欄フィールドの並べ替えを昇順に指定します。 レポートのプロパティで、ソースを作ったクエリー名に変更します。 クエリーですでに並べ替えを指定していれば、レポートのプロパティで並べ替えを指定する必要はありません。 以上で日付は並べ替えられますが、11/01~11/04 のような表示にする方法は ? です。

関連するQ&A