การเรียง Record ตามวันที่เพื่อดึงข้อมูลมาใช้ใน Query


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

19 พ.ย. 62 , 16:57:23
ตอบกลับ #18

Mercury

เปลี่ยนโหมดคิวรี่จาก Design View ไปเป็น SQL View แล้วเขียนคำสั่งนี้ลงไปแทนครับ

select T1.*, (select sum(T3.Inboxes) from [In] as T3 where T3.place = T1.place) as SumOfBoxin
from [In] as T1
where T1.[date] = (select max(T2.[date]) from [In] as T2 where T2.place = T1.place)

ทำตามโค้ดนี้แล้วสถานที่ดึงรหัสสินค้าเป็นไปตามที่ต้องการแล้วค่ะ :love:
แต่ฟิลด์ Sum มันต้องรวมจำนวนของสินค้ารหัสเดียวกันไว้ด้วยกันด้วยค่ะ ไม่ใช่แค่เฉพาะของวันที่นั้นๆ
ไม่ทราบว่าจะลบเงื่อนไขดังกล่าวที่ฟิลด์ Sum ตามที่อาจารย์เขียนให้ต้องแก้โค้ดตรงไหนคะ

ขอบคุณค่ะ
:dizzy:
 

19 พ.ย. 62 , 17:09:33
ตอบกลับ #19

สันติสุข

ผมไม่ค่อยแน่ใจถึงสิ่งที่ต้องการ  แต่เอาเป็นว่า ถ้าต้องรวมตาม [place] และ [product] เดียวกัน ก็แก้ส่วน sum โดยเพิ่มเงื่อนไข and เข้าไปในส่วนของ where ตามโค้ดข้างล่างนี้ แต่ถ้าต้องมีเงื่อนไขฟิลด์อื่นเพิ่มเติม ก็ทำในลักษณะเดียวกัน คือเพิ่ม and เข้าไปอีกครับ

select T1.*,(select sum(T3.Inboxes) from [In] as T3 where (T3.place = T1.place) and (T3.product = T1.product)) as SumOfBoxin
from [In] as T1
where T1.[date] = (select max(T2.[date]) from [In] as T2 where T2.place = T1.place)

ยังไงก็ทดสอบผลลัพธ์กับข้อมูลเยอะๆ เพื่อดูว่าถูกต้องหรือไม่ด้วย
« แก้ไขครั้งสุดท้าย: 20 พ.ย. 62 , 00:59:46 โดย สันติสุข »
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Mercury

19 พ.ย. 62 , 19:46:13
ตอบกลับ #20

OddyWriter

ไฟล์ตัวอย่างครับ ใช้ Total Query หรือใช้คำสั่ง Dlast ในฟอร์มครับ

จบนะ
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 

20 พ.ย. 62 , 08:51:14
ตอบกลับ #21

Mercury

ผมไม่ค่อยแน่ใจถึงสิ่งที่ต้องการ  แต่เอาเป็นว่า ถ้าต้องรวมตาม [place] และ [product] เดียวกัน ก็แก้ส่วน sum โดยเพิ่มเงื่อนไข and เข้าไปในส่วนของ where ตามโค้ดข้างล่างนี้ แต่ถ้าต้องมีเงื่อนไขฟิลด์อื่นเพิ่มเติม ก็ทำในลักษณะเดียวกัน คือเพิ่ม and เข้าไปอีกครับ

select T1.*,(select sum(T3.Inboxes) from [In] as T3 where (T3.place = T1.place) and (T3.product = T1.product)) as SumOfBoxin
from [In] as T1
where T1.[date] = (select max(T2.[date]) from [In] as T2 where T2.place = T1.place)

ยังไงก็ทดสอบผลลัพธ์กับข้อมูลเยอะๆ เพื่อดูว่าถูกต้องหรือไม่ด้วย



ในส่วนของ Sum ข้อมูลจะต้องคำนวณการรับเข้า-จ่ายออก ดังภาพค่ะ
ที่หมายถึงคืออยากใช้โค้ดของอาจารย์ในส่วนการดึงข้อมูลสถานที่และรหัสสินค้า ร่วมกับการคำนวณของ Sum ที่ใช้อยู่ตามภาพค่ะ
:dizzy:
 

20 พ.ย. 62 , 09:24:51
ตอบกลับ #22

สันติสุข

 :dizzy:
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

23 พ.ย. 62 , 12:13:19
ตอบกลับ #23

apirak

ถึงเจ้าของกระทู้ และสวัสดีอาจารย์ทุกๆท่านครับ

ผมไม่แน่ใจว่าใช่ความต้องการของเจ้าของกระทู้นี้หรือเปล่าครับ...เป็น Code ในคิวรี่ ที่อาจารย์ท่านหนึ่งทำใว้ในบอร์ดนี้ แต่ผมจำชื่อไม่ได้ครับ และผมใช้ในการทำสต็อกมากว่า 1 ปี การตัดสต็อกไม่มีความผิดพลาดเลยครับ ผมแนบไฟล์มาด้วยครับ ถ้าไม่ใช่ความต้องการตามหัวข้อกระทู้ต้องขออภัยด้วยครับ

ขอบคุณครับ
   
« แก้ไขครั้งสุดท้าย: 23 พ.ย. 62 , 12:24:22 โดย apirak »

 
โพสต์นี้ได้รับคำขอบคุณจาก: Mercury


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5