สรุปผลบวกสะสมของข้อมูล ทุกๆงวดเดือน
กระทู้เก่าบอร์ด อ.Yeadram

 6,381   5
URL.หัวข้อ / URL
สรุปผลบวกสะสมของข้อมูล ทุกๆงวดเดือน

ผมสรุปยอดหาผลบวกของแต่ละงวดเดือนได้ โดยใช้ Function Sum แต่ถ้าต้องการหา สรุปผลบวกสะสมของแต่ละงวดเดือน ต้องทำอย่างไร   หรือว่าต้องเขียนโปรแกรมวนลูป ซัมตั่งแต่วันแรกจนถึงสิ้นงวดเดือน ทุกๆเดือน โปรดชี้แนะด้วย ขอบคุณครับ

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

1 @R00545
เวลาจะ Post ข้อความ พบปัญหาเรื่อง Cursor ไม่อยู่ในตำแหน่งที่ตัวอักษรตัวถัดไป ถ้าพิมพ์ผิดแล้วหาตำแหน่งแก้ไขข้อความอยากมาก ไม่ทราบว่าของท่านอื่นๆเป็นบ้างมั๊ย     สังเกตุได้ว่า ขณะที่พิมพ์อยู่นี้ Cursor อยู่ห่างจากตัวอักษร ตัวสุดท้ายประมาณ 1 นิ้ว   
2 @R00546
ของผมไม่เป็นครับ เรื่อง เคอร์เซอร์
ผมใช้ IE6 รันบน window xpsp2
ผมใช้ IE6 บน xpsp3
ใช้ AvantBrowser บน xpsp2
ใช้ IE7 บน Vista ก็ไม่มีปัญหา
ยังไม่เคยใช้ แต่ firefox ไม่รู้ว่า ของคุณฝนใช้ software อะไรที่ใช้อ่านเว็บครับ เผื่อว่าจะเป็นที่ software
และท่านอื่นๆ ที่เข้ามาอ่านด้วยครับ ช่วยแจ้?ผลหน่อยครับ ผมจะได้หาสาเหตุและทางปรับปรุงต่อไปครับ

ส่วนคำถาม ที่ต้องการ sum งวดเดือนขอรายละเอียดเพิ่มอีกนิดครับ
เพราะมีหลายวิธี และหลายผลลัพธ์
เช่น ผลลัพธ์
--------------------------------
1-1-2008.........15
2-1-2008..........20
3-1-2008..........5
jan-2008......40
----------------------------------
1-2-2008...........3
2-2-2008...........5
3-2-2008.............6
feb-2008............14
----------------------------------
2008...................54
----------------------------------

หรือว่าไม่ต้องการรายละเอียด เอาแค่ยอด sum งวด เช่น
jan-2008............40
feb-2008............14
2008....................54


ส่วนวิธีทำ ต้องการให้แสดงผล หรือ output ไปที่ไหนครับ
- เอาไปเป็น source และทำงานต่อใน Form
- เอาไปออกรายงาน ผ่าน Report
- เอาแค่ให้เป็น Query เดียว จบเลย

ต้องการเพิ่มเงื่อนไขหรือไม่
- ลักษณะการรับเงื่อนไข เป็นการรับส่งเข้า อากิวร์เมนต์ของฟังก์ชั่น (อันนี้ต้องเขียนเป็นโค้ด สร้างฟังก์ชั่น และมีอาร์กิวร์เมนต์)
- หรือให้เป็นลักษณะรับผ่านพารามิเตอร์ของ Query


3 @R00549
สมมุติ ข้อมูลมี3record คือ Month Record Data
Month     Record     Data     Result
..............................................................................
1     1     20     
1     2     36     
1     3     50     
1     4     22     128
2     5     47     
2     6     55     
2     7     89     
2     8     69     
2     9     77     
2     10     45     510


.......ผลที่ต้องการ.............................................................
1               128
2               510
.......................................................................................

คือ functionbuild in ที่ผมพยายามหาได้ใน Access มีเพียง Group แล้วก็ Sum ของแต่ละงวดเดือน จะทำให้ได้ผลรับ 1=128 ,2=382   แต่ที่ต้องการคือ aggregate จะได้ผลรับ เดือน1=128 ,เดือนที่2=510


ผลสรุปจะเอาไปใส่ Temp Table or Qury ก็ได้ เพื่อจะเอาไปพัฒนาใช้งานต่อ
.....................................................
เครื่อผมใช้ IE6 บน xpsp3   Cursor มันไม่ตรงตัวอักษรถัดไปที่พิมพ์

....................................................................
4 @R00550
อ้อ นี่มัน ผลรวมสะสม
ใช้ sub query ครับ

keyword ที่น่าจะเกี่ยวข้อง running sum รันลำดับ คิวรี่, ผลรวมสะสม
sub query, ซับคิวรี่, คิวรี่ย่อย น่าจะมีคนเคยตอบแล้วนะครับ แต่คุณจะไม่รู้ว่ามันคือเรื่องเดียวกัน

SELECT Q.fMonth, Sum(tb0.fData) AS SumData
FROM tb0, (SELECT tb0.fMonth
FROM tb0
GROUP BY tb0.fMonth) As Q
WHERE (((tb0.fMonth)<=[q].[fmonth]))
GROUP BY Q.fMonth;

ตัวอย่างนี่เป็น SQL Statement นะครับ นำไปใช้ได้เลย แต่ต้องเปลี่ยนคำ ก่อน
ใน statement นี้
tb0 คือชื่อตารางของคุณ
fmonth คือ ชื่อฟิลด์ที่เป็นข้อมูล "เดือน"
fData คือ ชื่อฟิลดืที่เป็นข้อมูล "ยอดรวม"
5 @R00551
ถ้าเป็นคิวรี่ ค่า Result ต้องหามาจาก Sub Query อีกทีหนึ่ง ดังนั้น SQL Select Statement ที่ทำเป็น Query ก็จะเป็นดังนี้

select a.month,a.record,a.data,(select sum(b.data) from table as b where (b.month < a.month) or ((b.month = a.month) and (b.record <= a.record))) as result from table as a order by a.month, a.record;

แต่ถ้าจะเอาไปออกรายงาน ก็ไม่จำเป็นต้องทำ Sub Query เพื่อหาค่า Result ก็ได้เพราะเราสามารถเลือก Running Sum Property ของเท็กบ็อกซ์ (ที่วางไว้บน Detail Section ใน Report) ให้มีค่าเป็น Over All ได้ ซึ่งก็จะได้ผลอย่างเดียวกัน (Property นี้มีเฉพาะบน Report เท่านั้น ใน Form จะไม่มี)

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