Running Sum By Query
กระทู้เก่าบอร์ด อ.Yeadram

 3,173   1
URL.หัวข้อ / URL
Running Sum By Query

ผมลองทำการคิวรีแบบผลรวมกลุ่ม เพื่อทำข้อมูลดังนี้
PartID    unit    runsum
0001      45      45
0005      30      75
0011      27     102
...

ผมทำโมดูลฟังก์ชั่น fncRunSum([unit]) ในคอลัมน์ "runsum"


Option Compare Database
Option Explicit

Function fncRunSum(lngCatID As Double, lngUnits As Double) As Double
    'Variables that retain their values.
    Static lngID As Double
    Static lngAmt As Double

    If lngID = lngCatID Then
        'If the current ID does not match the last ID, then (re)initialize.
        lngID = lngCatID
        lngAmt = lngUnits
    Else
        'If the current ID matches the last, keep a running sum for the ID.
        lngAmt = lngAmt + lngUnits
    End If

    'Pass the running sum back to the query.
    fncRunSum = lngAmt
End Function

ผมติดปัญหาที่พอรันคิวรี่แล้วกำนดพามิเตอร์เหมือนเดิม แต่คอลัมน์"runsum" มันจะรันเปลี่ยนทุกครั้งต่อเนื่องกันไปในการเรียกคิวรีใหม่แต่ละครั้งครับ
แต่ถ้าผมปิดฐานข้อมูลทั้งหมด แล้วเปิดใหม่ รันคิวรีใหม่จะเริ่มต้นใหม่ตามที่ต้องการ
ไม่รู้ว่าผมใช้ฟังก์ชั่นผิดหรือเปล่า

รบกวนผู้รู้ทุกท่านครับ ขอบคุณครับ

1 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R08887
ครับตกลงผมทำได้แล้วครับ
เปลี่ยนไปใช้ฟังก์ชั่น DSUM แทน
คิวรี่สร้างเป็นตารางแล้วนำมาใช้
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3356s