UGETPROJECT.COM › Forums › ถามตอบปัญหา MS Access › สอบถามเกี่ยวกับ query ครับ
- This topic has 7 replies, 2 voices, and was last updated 9 years, 5 months ago by Peerapach Srinugul.
-
AuthorPosts
-
29/05/2015 at 4:54 PM #481Peerapach SrinugulParticipant
ตอนนี้ จะทำรายงาน Stock ครับ แต่ติดปัญหาตรง query
คือ ต้องการนำ Unit Price ของวัสดุที่รับเข้ามา ให้มาแสดงเพื่อ คำนวน มูลค่าคงเหลือทั้งหมด โดย เอาจำนวน balance* Unit price
แต่ติด ตรง ดึง unit price มาแล้ว Query แสดงผล ผิดไป
ที่อยากได้คือ-เอา ราคาต่อหน่วย ล่าสุด ของวัสดุนั้นๆ ที่รับเข้ามา มาแสดง (วัสดุที่รับเข้ามา ราคาไม่คงที่ และซื้อจากร้านค้าคนละร้าน ราคา ก็ คงต้องเปลี่ยน)
ตาราง และ ความสัมพัน ที่เกี่ยวข้อง
คิวรี่
แสดงผล
ที่อยากได้ แบบนี้ แต่ อันนที่ได้ เพราะ เลือก ใช้ ฟังชั่น max
29/05/2015 at 5:22 PM #483adminKeymasterช่อง IM_Item_unitprice อันนี้ เปลี่ยนจาก Max เป็น Sum ดูครับ ได้ไหม
29/05/2015 at 5:35 PM #485Peerapach SrinugulParticipantไม่ได้ครับแอดมิน ถ้าเป็น sum มันจะ รวม ราคา 2 ครั้งเข้าด้วยกันครับ
29/05/2015 at 5:46 PM #486adminKeymasterเข้าใจแล้วครับ ผมคิดว่าถ้าจะเอาราคาสุทธิ (ราคาต่อหน่วย * จำนวนรับ) ภายใน query นี้ จะยังทำไม่จบครับ ต้องเพิ่มอีก query นึง
query ที่กำลังทำอยู่นี้ ให้เอาแถว total: ออกไปก่อน(หมายถึงแถว group by,sum อะไรพวกนี้ครับ)
แล้วก็ให้เพิ่มอีก column นึง ไว้คำนวน เป็นราคาสุธิ ขึ้นมาเลย สมมติว่าttl_price: In*IM_Item_Unitprice
ทีนี้ก็เซพไว้ครับ สมมติเป็นชื่อว่า stock1 แล้วก็สร้างขึ้นใหม่อีก query นึง เอา stock1 ตั้ง เอาแถว(ผลรวม) total: ออกมา
เอาคอลัมป์ออกมาตามนี้นะครับ
1. Item_Code [Group By]
2. Item [Group By]
3. In [Sum]
4. Out [Sum]
5. Balance [Sum]
6. Target_stock [Group By]
7. tt_price [Sum]แค่นี้ก็น่าจะเอาไปทำรายงานที่ต้องการได้แล้วครับ
29/05/2015 at 6:00 PM #487Peerapach SrinugulParticipantอ๋อ ครับ แอดมิน ผมต้องการ มูลค่า ของ ที่เหลือ อ่ะครับ ถ้างั้น ก็ต้องเอา balance * item price ใช่ไหมครับ
แสดงว่า ไม่มี วิธี ที่จะ ดึง ราคาต่อหน่วยออกมา โชว์ใน รายงานนี้ใช่มั้ยครับ
29/05/2015 at 6:01 PM #488Peerapach SrinugulParticipantคือถ้าทำรายงานส่ง เจ้านาย เคา้จะงงไหม ว่า ราคาตัวนี้มาจากอะไร อาจจะรู้ แต่ว่า เขาจะน่าต้องการเห็น ว่าราคาต่อหน่วยคือเท่าไหร่ ไหมอ่ะครับ แอดมิน
29/05/2015 at 9:33 PM #489adminKeymasterถ้าจะเอาให้เป๊ะเลยนะครับ จำเป็นต้องควบคุม lot ในการรับและ lot ในการเบิกด้วยครับ ก็จะรู้ว่าคงเหลือ lot ไหนบ้างในตอนนี้ และอ้างอิงจาก lot จะรู้เลยว่า lot ไหนราคาต่อหน่วยเท่าใหร่ ซึ่งต้องออกแบบใหม่แต่แรกครับ
ถ้าตามที่ทำมานี้ ก็มีแนวทางทำได้อีกหน่อย แต่ว่าจะไม่เป๊ะนะครับ ต้องคุยกับเจ้านายว่ารับได้ไหม คือ
1 ถ้าจะเอาราคาสูงสุดที่ซื้อมาไม่สนใจราคาอื่น ก็ใช้ Max แบบที่คุณ peerapach ทำตัวอย่างให้ดูนี่ก็ได้ราคาสูงสุด เอาไปคูณจำนวนคงเหลือได้เลย
2 ถ้าจะเอาราคาต่ำสุด ที่ซื้อ ก็เปลี่ยนจาก Max เป็น Min ครับ (แต่อันนี้ผมว่าไม่น่าจะได้ เพราะบาง record เป็น null ค่าต่ำสุดจะกลายเป็น null ไป)
3 ถ้าจะเอาราคาเฉลี่ย ก็เปลี่ยนจาก Max เป็น Avg ครับผมบอกทางเลือกไปหมดแล้วนะครับ เหลือแค่คุณ peerapach จะเลือกแบบไหน ^^
02/06/2015 at 1:55 AM #490Peerapach SrinugulParticipantขอบคุณครับ
-
AuthorPosts
- You must be logged in to reply to this topic.