Page 1 of 1

สอบถามเรื่องการวนลูปครับ

Posted: Wed Nov 20, 2019 7:55 am
by Plaboo
ผมขอความช่วยเหลือจากอาจารย์และเพื่อนสมาชิกด้วยครับ

จาก Code ผมมน่าจะมาผิดทางแล้วอยากขอคำชี้แนะหน่อยครับ
1.ผมมีข้อมูลจาก รูป Test เป็นวันที่รับสินค้า(Date) รหัสสินค้า(OPT) จำนวนสินค้าที่รับ (QTY) และ SOH คือ ON HAND STOCK ปัจจุบันผมJoin มา

2.จากข้อมูลผมอยากให้ออกมาตาม รูป TEST 1 คือเอา ONHAND ไปตัดว่าตอนนี้ของที่เหลือคือของของ วันที่รับสินค้า(Date) ใดบ้างครับ

3. ผมเข้าใจว่าจาก VB ที่ผมเขียนน่าจะมาผิดทางมากเลย อยากจะขอคำชี้แนะจากเพื่อนสมาชิกและอาจารย์ด้วยครับ
test.jpg
Test2.jpg

Code: Select all

Option Compare Database
Option Explicit

Public Function FIFO(idproduct As Date, Balance As Long) As Long
  Dim nProduct As Long, LastQuantity As Long
  nProduct = DMax("[Date]", "Test3", "[Opt]=" & idproduct)
  LastQuantity = DLookup("[QTY]", "Test3", "[Opt]=" & idproduct & " AND [Date]=" & nProduct)
  Do
    If Balance > LastQuantity Then
      Balance = Balance - LastQuantity
      nProduct = DMax("[Date]", "Test3", "[Opt]=" & idproduct & " AND [Date]<" & nProduct)
      LastQuantity = DLookup("[QTY]", "Test3", "[Opt]=" & idproduct & " AND [Date]=" & nProduct)
      ElseIf Balance < 0 Then
      Balance = 0
 End If
  Loop While Balance > 0
End Function

Re: สอบถามเรื่องการวนลูปครับ

Posted: Wed Nov 20, 2019 12:15 pm
by Plaboo
-ขอโทษครับข้อ 2 รูปภาพเป็น Test 2 ครับ และ SOH ให้เป็น 300 เหมือนกันทุกภาพครับ

Re: สอบถามเรื่องการวนลูปครับ

Posted: Wed Nov 20, 2019 7:09 pm
by snasui
:D กรุณาแนบไฟล์ Access พร้อม Code มาด้วย ตัดมาเฉพาะส่วนที่เกี่ยวข้องกับงานนี้เท่านั้นไฟล์จะได้ไม่ใหญ่ จะสะดวกในการทดสอบของผู้ตอบครับ