プロが教える店舗&オフィスのセキュリティ対策術

質問です。

エクセルかアクセス(できればアクセスで)作成したいのですが、今日が12/10だった場合

12/1 12/2 12/3 12/4  12/5 ~ 12/10
 0   50  0  100   0 ~   0

この場合12/5~12/10まで0だった場合
今日まで0が何日続いたかという計算をすることは
可能でしょうか?

A 回答 (3件)

これでどうでしょう・・・



ちょっとクエリを使って考えてみました。
まず、テーブルを作ります。
フィールドは、日付、値(0とかを入力するフィールド)です。
このテーブルをベースに集計クエリを作ります。

クエリのフィールドの設定は、
日付→集計:where条件、抽出条件:<=Date()
値→集計:グループ化、抽出条件:0
にします。

さらに、カウント用のフィールドを作ります。
0のカウント:値→集計:カウント

です。

これで、今日までの0の個数をカウントできると思います。

この回答への補足

上記の方法ですと、0円がトータルで何回あるかということになりませんでしょうか?

今日まで0円が何日続いているかを出したいと考えています。
1日でも0円以外の数字が入れば、再度0円になった直近の日付から今日まで連続した日にちを計算することはできないでしょうか?

補足日時:2004/12/02 10:26
    • good
    • 0

> フィールド方向です。



たとえば、コントロール名が
txt01
txt02
 :
txt10

のようになっているとして、本日(txt10)から、遡り、0がいくつあるかを
カウントするには、以下のように。

Dim lngIdx As Long
Dim lngCnt As Long

For lngIdx 10 To 1 Step -1
  If Me.Controls("txt" & Format(lngIdx,"00")) = 0 Then
    lngCnt = lngCnt + 1
  Else
    Exit Sub
  End If
Next lngIdx

MsgBox lngIdx & " 日、続いています。"

のような感じになると思います。
    • good
    • 0

> 12/1 12/2 12/3 12/4  12/5 ~ 12/10


>  0   50  0  100   0 ~   0

完全にVBAになると思います。
この値は、フィールド方向に伸びるのでしょうか?
それとも、レコード方向?
#クロス集計クエリを使うのかな?(Accessでするとしたら。)

この回答への補足

フィールド方向です。

補足日時:2004/12/01 18:41
    • good
    • 0

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