กระทู้เก่าบอร์ด อ.Yeadram
719 2
URL.หัวข้อ /
URL
ขอความช่วยเหลือด้วยค่ะ
จะให้มัน process คือ
ถ้า seller_type เป็น 1 ก็ให้แสดงค่าเป็น 0
ถ้า seller_type เป็น 2 และ price น้อยกว่าหรือเท่ากับ 500 ก็ให้เป็น 0 ถ้าไม่ใช่ก็ให้ price*.01
และถ้า seller_type เป็น 3 และ price น้อยกว่าหรือเท่ากับ 10000 ก็ให้เป็น 0 ถ้าไม่ใช่ก็ให้ price*.01
โดยกำหนดสูตรแบบนี้ด้านล่างนี้ค่ะ
vat 1%: IIf([seller_type] Is Null," ",IIf([seller_type]=1,0,IIf([seller_type]=2 & [price]<=500,0,IIf([seller_type]=3 & [price]<=10000,0,[price]*.01))))
ผลที่ได้คือ มันเป็น 0 หมดเลย ทำไงดีคะ
ถ้า seller_type เป็น 1 ก็ให้แสดงค่าเป็น 0
ถ้า seller_type เป็น 2 และ price น้อยกว่าหรือเท่ากับ 500 ก็ให้เป็น 0 ถ้าไม่ใช่ก็ให้ price*.01
และถ้า seller_type เป็น 3 และ price น้อยกว่าหรือเท่ากับ 10000 ก็ให้เป็น 0 ถ้าไม่ใช่ก็ให้ price*.01
โดยกำหนดสูตรแบบนี้ด้านล่างนี้ค่ะ
vat 1%: IIf([seller_type] Is Null," ",IIf([seller_type]=1,0,IIf([seller_type]=2 & [price]<=500,0,IIf([seller_type]=3 & [price]<=10000,0,[price]*.01))))
ผลที่ได้คือ มันเป็น 0 หมดเลย ทำไงดีคะ
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R24156
การใช้ และ ใน Access หรือ VBA ใช้เครื่องหมาย & ไม่ได้ครับ เครื่องหมาย & ใน Access หมายถึงการเชื่อมตัวแปรเข้าด้วยกันแบบ Text ครับ เช่น 1 & 2 จะได้ 12 เป็นต้น
ดังนั้นในช่องที่กำหนดสูตรให้เปลี่ยน & เป็น And ครับ
ดังนั้นในช่องที่กำหนดสูตรให้เปลี่ยน & เป็น And ครับ
Time: 0.3323s
ผมแนะนำว่าเป็น VBA สะดวกกว่าครับ
วิธีการคือ
1. สร้าง Function ขึ้นมา 1 ฟังก์ชั่น เอาไว้ที่ Module ตามนี้ครับ
Function myVAT(Seller As Integer, Price As Double)
Select Case Seller
Case 1
myVAT = 0
Case 2
If Price <= 500 Then
myVAT = 0
Else
myVAT = Price * 0.01
End If
Case 3
If Price <= 10000 Then
myVAT = 0
Else
myVAT = Price * 0.01
End If
Case Else
myVAT = ""
End Select
End Function
2. ที่ Query ก็แก้ไขเป็น vat 1%: myVAT([Seller_Type],[Price])
เพียงเท่านี้ก็ได้สิ่งที่ต้องการครับ