- ベストアンサー
access_範囲を指定して参照
数字←フィールド名 1 2 3 4 5 6 7 上記のようなフィールドがあるとします。 クエリで 7を基点に4までの範囲を参照し合計する関数を教えて下さい。 初歩的な質問かも知れませんが2時間ほど彷徨っております。。 何卒よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
なんだか以前にも似たような質問を見かけたことが あるのですが、忘れました。 「参照」とあるのはこのテーブルの値を参照して 他のテーブルの数値の合計を出すとか、そういうことですか。 もし、そうであるならば、二つのテーブルをレコードセット にしてグルグルとループさせる必要があるならば少し 具体的でないと関数が書けないと思いますが。 質問のテーブルは連続した数値が1から並んでいますが、 実際にもそうなのですか。 データベースのテーブルはデータの並びにユニークキーが なければ、データの並びはランダムなので、「3セル分上の値」 ということは確定できません。あるいは、質問の「数字」の フィールドのようにデータが昇順になっている、あるいは 昇順に設定できる、ということであれば話は別ですが。 もっとも「7を基点に4までの範囲」と「7を起点に7,6,5,4という 感じで3セル分上の値を指します。」の部分が謎なのですが。 No2さんは理解しておられるようですが。 どのように「数字」からデータを取り出し、どのような合計を 出したいのか具体的なプロセスがわかれば簡単なのですが。
その他の回答 (2)
- bin-chan
- ベストアンサー率33% (1403/4213)
> 7を基点に4までの範囲を参照し合計する関数を教えて下さい。 「基点」と「4までの範囲」の意味があいまい。 例だと各値は1レコードずつだが、ユニークキー? 「基点」が「列[数字]の持つ最大値」で 「4までの範囲」が「基点から3を減じた値」ということ? Select Sum(t1.[数字]) From テーブル t1, テーブル t2 Where t1. [数字] between Max(t2.[数字]) and ( Max(t2.[数字]) - 3) ; だとどうなります?
補足
ご対応有難うございます。 >例だと各値は1レコードずつだが、ユニークキー? ユニークキーではございません。 >「基点」が「列[数字]の持つ最大値」で いいえ。 >「4までの範囲」が「基点から3を減じた値」ということ? はい!!!
- piroin654
- ベストアンサー率75% (692/917)
数字のフィールドを7から4までを足して合計する ということですか? 「7を起点にして4まで」というのはようするに 「4から7まで」ということとかわりないのですが。 選択クエリを作成すると、 SELECT Sum(IIf([数字] Between 4 And 7,[数字],0)) AS 合計 FROM テーブル名; テーブル名は実際に合わせて変更してください。 クエリのデザインビューでは、フィールドに 合計: Sum(IIf([数字] Between 4 And 7,[数字],0)) といれるだけで、「数字」のフィールドを表示する必要は ありません。
補足
ご対応いただきありがとうございました。 しかしながら求めている回答とは異なるようです。 7から4まで というのは具体的には 7を起点に7,6,5,4という感じで3セル分上の値を指します。 補足になっていますでしょうか?
お礼
ありがとうございます。 併せて質問が的確でなく申し訳ございません。 本質問は一旦ここでクローズさせて頂き再度質問させて頂きます。