สอบถามเกี่ยวกับ query ครับ

UGETPROJECT.COM Forums ถามตอบปัญหา MS Access สอบถามเกี่ยวกับ query ครับ

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #481
    Peerapach Srinugul
    Participant

    ตอนนี้ จะทำรายงาน Stock ครับ แต่ติดปัญหาตรง query
    คือ ต้องการนำ Unit Price ของวัสดุที่รับเข้ามา ให้มาแสดงเพื่อ คำนวน มูลค่าคงเหลือทั้งหมด โดย เอาจำนวน balance* Unit price
    แต่ติด ตรง ดึง unit price มาแล้ว Query แสดงผล ผิดไป
    ที่อยากได้คือ

    -เอา ราคาต่อหน่วย ล่าสุด ของวัสดุนั้นๆ ที่รับเข้ามา มาแสดง (วัสดุที่รับเข้ามา ราคาไม่คงที่ และซื้อจากร้านค้าคนละร้าน ราคา ก็ คงต้องเปลี่ยน)

    ตาราง และ ความสัมพัน ที่เกี่ยวข้อง

    คิวรี่

    แสดงผล

    ที่อยากได้ แบบนี้ แต่ อันนที่ได้ เพราะ เลือก ใช้ ฟังชั่น max

    #483
    adminadmin
    Keymaster

    ช่อง IM_Item_unitprice อันนี้ เปลี่ยนจาก Max เป็น Sum ดูครับ ได้ไหม

    #485
    Peerapach Srinugul
    Participant

    ไม่ได้ครับแอดมิน ถ้าเป็น sum มันจะ รวม ราคา 2 ครั้งเข้าด้วยกันครับ

    #486
    adminadmin
    Keymaster

    เข้าใจแล้วครับ ผมคิดว่าถ้าจะเอาราคาสุทธิ (ราคาต่อหน่วย * จำนวนรับ) ภายใน 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]

    แค่นี้ก็น่าจะเอาไปทำรายงานที่ต้องการได้แล้วครับ

    #487
    Peerapach Srinugul
    Participant

    อ๋อ ครับ แอดมิน ผมต้องการ มูลค่า ของ ที่เหลือ อ่ะครับ ถ้างั้น ก็ต้องเอา balance * item price ใช่ไหมครับ

    แสดงว่า ไม่มี วิธี ที่จะ ดึง ราคาต่อหน่วยออกมา โชว์ใน รายงานนี้ใช่มั้ยครับ

    #488
    Peerapach Srinugul
    Participant

    คือถ้าทำรายงานส่ง เจ้านาย เคา้จะงงไหม ว่า ราคาตัวนี้มาจากอะไร อาจจะรู้ แต่ว่า เขาจะน่าต้องการเห็น ว่าราคาต่อหน่วยคือเท่าไหร่ ไหมอ่ะครับ แอดมิน

    #489
    adminadmin
    Keymaster

    ถ้าจะเอาให้เป๊ะเลยนะครับ จำเป็นต้องควบคุม lot ในการรับและ lot ในการเบิกด้วยครับ ก็จะรู้ว่าคงเหลือ lot ไหนบ้างในตอนนี้ และอ้างอิงจาก lot จะรู้เลยว่า lot ไหนราคาต่อหน่วยเท่าใหร่ ซึ่งต้องออกแบบใหม่แต่แรกครับ

    ถ้าตามที่ทำมานี้ ก็มีแนวทางทำได้อีกหน่อย แต่ว่าจะไม่เป๊ะนะครับ ต้องคุยกับเจ้านายว่ารับได้ไหม คือ
    1 ถ้าจะเอาราคาสูงสุดที่ซื้อมาไม่สนใจราคาอื่น ก็ใช้ Max แบบที่คุณ peerapach ทำตัวอย่างให้ดูนี่ก็ได้ราคาสูงสุด เอาไปคูณจำนวนคงเหลือได้เลย
    2 ถ้าจะเอาราคาต่ำสุด ที่ซื้อ ก็เปลี่ยนจาก Max เป็น Min ครับ (แต่อันนี้ผมว่าไม่น่าจะได้ เพราะบาง record เป็น null ค่าต่ำสุดจะกลายเป็น null ไป)
    3 ถ้าจะเอาราคาเฉลี่ย ก็เปลี่ยนจาก Max เป็น Avg ครับ

    ผมบอกทางเลือกไปหมดแล้วนะครับ เหลือแค่คุณ peerapach จะเลือกแบบไหน ^^

    #490
    Peerapach Srinugul
    Participant

    ขอบคุณครับ

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.