กระทู้เก่าบอร์ด อ.Yeadram
1,214 4
URL.หัวข้อ /
URL
Query ขึ้น Overflow
คาดว่าเป็นที่ field ที่ใส่ code นี้ครับ ก่อนหน้านี้ Query ก็ Run ปกติ
status_Report:
IIf(IsNull([date_out3]),"In Process",
IIf([status_inv]="wait","In Process",
IIf([status_inv]="Warning","In Process",
IIf([status_inv]="Warning2","In Process",
IIf([status_inv]="Over Due","In Process",
IIf([status_inv]="Dead line","In Process",
IIf(([date_out3] Or [date_out3_auto]<>0,
IIf(IsNull([Due_date]),"Complete",
IIf(CInt([date_out3]-[Due_date])<=-7,"Complete",
IIf(CInt([date_out3]-[Due_date])>-7,"Complete Over Due","In Process"
))))))))))
status_Report:
IIf(IsNull([date_out3]),"In Process",
IIf([status_inv]="wait","In Process",
IIf([status_inv]="Warning","In Process",
IIf([status_inv]="Warning2","In Process",
IIf([status_inv]="Over Due","In Process",
IIf([status_inv]="Dead line","In Process",
IIf(([date_out3] Or [date_out3_auto]<>0,
IIf(IsNull([Due_date]),"Complete",
IIf(CInt([date_out3]-[Due_date])<=-7,"Complete",
IIf(CInt([date_out3]-[Due_date])>-7,"Complete Over Due","In Process"
))))))))))
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R22481
อาจาร์ยครับ แนะนำหน่อยครับ ผมไม่เคยเขียน Public Function และ Module เลยครับ
3 @R22482
สร้างโมดูลใหม่ แล้วใส่โค้ดนี้ แต่ผมดูแล้วแปลกๆ ไม่แน่ใจคุณเขียนเงื่อนไขครบหรือไม่ จุดที่น่าสงสัยคือที่ผมเขียน ??? คุณต้องไปตรวจสอบและปรับปรุงเอาเองนะครับ
ส่วนในคิวรี่ ช่องฟิลด์ของ status_Report ก็ควรจะเป็น
Public Function GetInvStatus(date_out3 As Variant, status_inv As String, date_out3_auto As Variant, Due_Date As Variant) As String
If IsNull(date_out3) Then
GetInvStatus = "In Process"
Else
If status_inv = "wait" Then
GetInvStatus = "In Process"
Else
If status_inv = "Warning" Then
GetInvStatus = "In Process"
Else
If status_inv = "Warning2" Then
GetInvStatus = "In Process"
Else
If status_inv = "Over Due" Then
GetInvStatus = "In Process"
Else
If status_inv = "Dead line" Then
GetInvStatus = "In Process"
Else
If date_out3 Or date_out3_auto <> 0 Then ' ???
If IsNull(Due_Date) Then
GetInvStatus = "Complete"
Else
If CInt(date_out3 - Due_Date) <= -7 Then
GetInvStatus = "Complete"
Else
If CInt(date_out3 - Due_Date) > -7 Then
GetInvStatus = "Complete Over Due"
Else
GetInvStatus = "In Process"
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End Function
ส่วนในคิวรี่ ช่องฟิลด์ของ status_Report ก็ควรจะเป็น
status_Report : GetInvStatus([date_out3],[status_inv]),[date_out3_auto],[Due_date])
4 @R22505
ขอบคุณครับ
Time: 0.3663s
status_Report : ชื่อฟังก์ชั่น([date_out3],[status_inv]),[date_out3_auto],[Due_date])