Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ ระบบฐานข้อมูล
Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ การเขียนโปรแกรม
Access : เป็นได้ทั้งตัวเก็บฐานข้อมูล และตัวจัดการฐานข้อมูล
Thai Access : บอร์ดเสริมการเรียนรู้ Access ด้วยภาษาไทย

        @ คุณได้คำตอบที่ต้องการแล้วหรือยัง กลับมาอีกสักครั้งเพื่อแจ้ง ผู้ตอบ               @ เขียนคำถามให้ผู้ตอบเข้าใจ จะช่วยให้ผู้ถามได้คำตอบที่ชัดเจน และรวดเร็ว               @ ต้องการ อัพโหลดรูปภาพประกอบกระทู้ browser ของท่าน ต้องอนุญาตใช้ป๊อบอัพ        

Back to Board : Thai Access Webboard New Topic    Reply
สรุปผลบวกสะสมของข้อมูล ทุกๆงวดเดือน

Topic by Message Posted : on : 24/8/2551 7:51:00
ฝน  ผมสรุปยอดหาผลบวกของแต่ละงวดเดือนได้ โดยใช้ Function Sum แต่ถ้าต้องการหา สรุปผลบวกสะสมของแต่ละงวดเดือน ต้องทำอย่างไร   หรือว่าต้องเขียนโปรแกรมวนลูป ซัมตั่งแต่วันแรกจนถึงสิ้นงวดเดือน ทุกๆเดือน โปรดชี้แนะด้วย ขอบคุณครับ

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

Reply by Message on : 24/8/2551 7:58:07
ฝน
(R00545)
เวลาจะ Post ข้อความ พบปัญหาเรื่อง Cursor ไม่อยู่ในตำแหน่งที่ตัวอักษรตัวถัดไป ถ้าพิมพ์ผิดแล้วหาตำแหน่งแก้ไขข้อความอยากมาก ไม่ทราบว่าของท่านอื่นๆเป็นบ้างมั๊ย     สังเกตุได้ว่า ขณะที่พิมพ์อยู่นี้ Cursor อยู่ห่างจากตัวอักษร ตัวสุดท้ายประมาณ 1 นิ้ว   
Back to Top
Reply by Message on : 24/8/2551 10:49:02
yeadram
(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



Back to Top
Reply by Message on : 25/8/2551 9:29:37
ฝน
(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 มันไม่ตรงตัวอักษรถัดไปที่พิมพ์

....................................................................
Back to Top
Reply by Message on : 25/8/2551 12:06:09
yeadram
(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 คือ ชื่อฟิลดืที่เป็นข้อมูล "ยอดรวม"
Back to Top
Reply by Message on : 25/8/2551 12:16:58
สันติสุข
(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 ก็เป็นเหมือนกันครับ
.........................................................................
Back to Top

Reply

 *Indicates required fields
Format:
Bold Under Line Italic Add Hyperlink Add Email Link Italic List Indent Add Image Emoticons Image Upload Insert code Mode:
Message:*
Your Name*:
Normal word*: Please input : ไทยแอ็คเซส
+++ webboard source: ASPThai.Net Webboard 6.0 webbord +++++++ admin : yeadram +++