... อาจารย์สุภาพหรือพี่ๆ ก็ได้ ช่วยเข้ามาดู code หน่อยครับ ใกล้จะต้องส่งงานแล้ว ยังไม่ได้สักที ...
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 317   3
URL.หัวข้อ / URL
... อาจารย์สุภาพหรือพี่ๆ ก็ได้ ช่วยเข้ามาดู code หน่อยครับ ใกล้จะต้องส่งงานแล้ว ยังไม่ได้สักที ...

คือผมได้เขียน code คำนวณค่าจากตารางแล้วนำค่าที่คำนวณเสร็จแล้วมาแสดงบน textbox ใน report (ตรงส่วน detail ทีเรียงกันเป็นเรคอดน่ะครับ) แต่มันดันแสดงค่าเหมือนกับเรคอดแรกสุดหมดเลย คือเรคอดอื่นๆ ก็แสดงค่าเหมือนกับเรคอดแรกหมดเลย จะแก้ยังไงครับ ให้มันแสดงเป็นของ เรคอดใคร เรคอดมัน

Code ครับ :

Private Sub Report_Activate()
Dim MerAmount As Long
Dim TotalPrice As Currency
Dim rst2 As DAO.Recordset
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("select mer_amount from merchandise where mer_id = '" & Me.MER_ID & "'")
Set rst2 = dbs.OpenRecordset("select * from buy where mer_id = '" & Me.MER_ID & "' order by buy_date desc")
If Not rst.EOF And Not rst2.EOF Then
MerAmount = rst!MER_AMOUNT
TotalPrice = 0

If rst2!BUY_AMOUNT < MerAmount Then
Do
TotalPrice = TotalPrice + (rst2!BUY_AMOUNT * rst2!BUY_UNITPRICE)
MerAmount = MerAmount - rst2!BUY_AMOUNT
rst2.MoveNext
If rst2!BUY_AMOUNT >= MerAmount Then GoTo jaja
Loop
Text20.Value = TotalPrice

jaja:

TotalPrice = TotalPrice + (rst2!BUY_AMOUNT * rst2!BUY_UNITPRICE)
Text20.Value = TotalPrice

End If
End If
End Sub
--------------
ใช้ Access 2000 + XP pro ครับ
ขอบคุณมากๆ ครับ


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

1 @R02338
ใช้ DLoopup() แทนน่าจะได้นะครับ

ลองแบบนี้ ให้ใส่

=DLookup("[BUY_AMOUNT] * [BUY_UNITPRICE]","Buy","[Me.MER_ID] =" & Me.MER_ID)

ในช่อง Control Source ชอง TotalPrice

แต่ผมว่าถ้าคำนวณให้เสร็จเลยใน Query ก็จะไวกว่านะครับ ไม่ต้องมาใช้ DLookup() ช่วยใน Report เลย
2 @R02345
อืมม อาจารย์สุภาพครับ แล้วถ้าคำนวณใน Query จะคำนวณยังไงอ่ะครับ
เพราะมันต้องใช้ตัวแปร และมีการวนลูปด้วย (code นี้คือคำนวนราคาต้นทุนแบบ Lifo น่ะ)

ถ้าทำใน Query ต้องทำยังไงบ้างครับ

ขอบคุณฮะ
3 @R02346
อืมม อีกอย่างนึงวิธี ที่อาจารสุภาพบอกมามันไม่ได้น่ะครับ อย่างที่บอกไปคือ ต้องคำนวนราคาต้นทุนแบบ Lifo น่ะครับ เลยต้องมีการใช้ตัวแปรและวนลูป (คล้ายFIFO ที่เป็นตัวอย่างของอาจาร น่ะ ) มีวิธีอื่นอีกไหมครับ แก้ให้textbox ที่แสดงในแต่ละ เรคอด มันไม่เหมือนกับเรคอดแรกตลอด ...
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3453s