0

(ホテル ID に基づいて) 1 泊あたりの季節的な費用を計算し、クエリの日付範囲の費用全体を入力する必要がある Access データベースを構築しています。現在、すべてをセクションで計算するか、手動で入力する必要があります。

さまざまなテーブルとクエリを試してみましたが、すべて手動で入力する必要があります。この計算を完全に自動化する方法があるかどうかを確認したかったのですが、どんな助けも本当にありがたいです.

以下の表は、1 泊が 118 ドル、もう 1 泊が 159 ドルで合計 277 ドルの日付範囲を示しています。自動化されたクエリを実行して総費用を入力し、チェックイン日とチェックアウト日以外のすべてを切り取れるようにしたいと考えています (ここでの投稿の書式設定をまだ考えているため、間隔が狭いことをお許しください)。

  ID | ホテル | チェックイン | チェックアウト | 数値ピーク | ピークコスト | NumNonPeak| 非ピークコスト | 総費用

   1 | CILBV | 04/06/12 | 12/04/08 | 0000001 | $118.00 | 0000001 | $159.00 | $277.00
4

1 に答える 1

0

チェックイン日とチェックアウト日を受け入れ、合計費用を返す単一のクエリを作成できるはずです。重要な情報は、日付の範囲ごとにホテルが請求する金額です。

テーブルにこのような列があるとします (複数のテーブルに分散している場合は、適切な内部結合を使用してクエリを作成する必要があります)。

hotel_id ピーク開始日 ピーク終了日 ピーク価格 非ピーク価格

注意が必要なのは、考えられるシナリオがたくさんあるということです。

  1. ピーク前の開始と終了
  2. ピーク前に開始し、ピークで終了
  3. ピーク前に開始、ピーク後に終了
  4. ピークに始まり、ピークに終わる
  5. ピーク時に開始し、ピーク後に終了
  6. ピーク後に開始、ピーク後に終了

これは、開始日と終了日が同じ年にある場合です。チェックアウトが翌年になる場合には、さらに 6 つのシナリオがあります。

問題は、ピーク日の数とオフピーク日の数をどのように計算するのが最善かということです。次のいずれかを実行できます。

  1. 複雑な一連のネストされたIIFステートメントを構築する
  2. VBA メソッドを使用してロジックを実行し、最初にテーブルから必要な情報を取得します
  3. 1と2の組み合わせ

単純なヘルパー クエリをいくつか作成し、実際のロジックを VBA メソッドに入れます。


試行して行き詰まった場合は、いつでもここで別の質問をすることができます (より具体的な質問ほど、より良い回答が得られる傾向があります)。

于 2012-09-10T17:32:08.890 に答える