RunningSumInQuery ?
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 272   1
URL.หัวข้อ / URL
RunningSumInQuery ?

เรียนถามอ.สุภาพ และผู้รู้ค่ะ
หนูใช้ Code
Running Sum: (SELECT Sum(CCur([UnitPrice]*[Quantity]*(1-[Discount])/100)*100) FROM [Order Details] AS Temp Where [Temp].[OrderID]<=[Order Details].[OrderID])

เพื่อหา RunningSum ใน Query ค่ะ
จาก Code จะเป็นการรวมข้อมูล จากเร็คคอร์ดแรกไปเรื่อยๆ หนูต้องการให้สามารถที่ลบข้อมูลออกได้ด้วย เช่น สร้างฟิลด์
1.ฝาก
2.ถอน
3.คงเหลือ (คำนวณ)
เมื่อผู้ใช้ระบุจำนวนเงินในฟิลด์ฝาก ให้ยอดคงเหลือ เท่ากับ จำนวนเงินฝาก (กรณีฝากครั้งแรก) จากนั้น
เมื่อผู้ใช้ ฝาก ครั้งต่อไป(เร็คคอร์ดใหม่) ให้ยอดคงเหลือ รวมค่า จากยอดคงเหลือครั้งที่แล้ว กับ ยอด ฝากครั้งนี้ จากนั้น
เมื่อผู้ใช้ ระบุจำนวนเงินในฟิลด์ ถอน ให้ยอดคงเหลือ ลบ กับ จำนวนเงิน ถอน ณ เร็คคอร์ดปัจจุบัน ค่ะ

รบกวน อ.กรุณาแนะนำด้วยค่ะ
ขอบคุณค่ะ

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

1 @R04777
สมมติว่า Table1(iTransID, iAccID, dDate, rWithdraw, rDeposit)
เป็น autonum, int, date, real, real ตามลำดับ

ผมจะรวม rWithdraw กับ rDeposit ไว้ด้วยกันใน rTotal โดยให้
Query1 = "SELECT Table1.*, IIf([rWithdraw]=0,[rDeposit],-[rWithdraw]) AS rTotal
FROM Table1;"

แล้วก็จะหา runningSum ของ rTotal โดยให้
Query2 = "SELECT Query1.*, DSum("rTotal","Query1","[iTransID]<=" & [iTransID]) AS rRunSum FROM Query1;"
เอาไปใช้ใน form+subform ไม่น่ามีปัญหา


หรือเจาะจงให้มากขึ้นด้วย
Query3 = "SELECT Query1.*, DSum("rTotal","Query1","[iTransID]<=" & [iTransID] & " and [iAccID]=" & [iAccID]) AS rRunSum FROM Query1;"
ก็ได้
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0481s