กระทู้เก่าบอร์ด อ.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" มันจะรันเปลี่ยนทุกครั้งต่อเนื่องกันไปในการเรียกคิวรีใหม่แต่ละครั้งครับ
แต่ถ้าผมปิดฐานข้อมูลทั้งหมด แล้วเปิดใหม่ รันคิวรีใหม่จะเริ่มต้นใหม่ตามที่ต้องการ
ไม่รู้ว่าผมใช้ฟังก์ชั่นผิดหรือเปล่า
รบกวนผู้รู้ทุกท่านครับ ขอบคุณครับ
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
Time: 0.3356s
เปลี่ยนไปใช้ฟังก์ชั่น DSUM แทน
คิวรี่สร้างเป็นตารางแล้วนำมาใช้