📄 jsyj.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "jsyj"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
'--------------------------------------------------
' 输入参数: 运价数据cur1~cur9,附加百分比【fjbf】,初步计费重量【cw】
' 返回值:字符串(string)
' 说明:针对VB对返回值个数的限制,在本函数中将返回的三个值采用特殊字符【#】隔离开,在取得运算结果后,再在外部进行数据切割
' 函数用途:计算相应的运价信息并返回计费重量、销售运价和实际收入""
' 作者:BLUE
' 时间: 2000-12-20
' 版本号:Ver 1.0
'--------------------------------------------------
Public Function jsyj(ByVal cur1, cur2, cur3, cur4, cur5, cur6, cur7, cur8, cur9, fjbf, CW As Variant) As String
'----------------------------------------
Dim ax, ay, bx, by, wg, wl, k, sum As Variant
'----------------------------------------
'函数数据库查询部分
'----------------------------------------
Dim qstring As String
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'SQL语句定义以及结果查询部分
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'定义SQL语句
'【3】指定商品运价
'<<<<<<<<<<<<<<<<<<<<<<<<<<<
qstring = "select j0,j1,j2,j3,j4,j5,j6,j7,j8 from tbl_fare_bz where DEP = '" & DEP & "' and DEST = '" & DEST & "' and gsno = '" & GOODCODE & "' and carrier='" & CARRIER & "' and beddate<= '" & FDATE & "' and enddate>='" & FDATE & "' and fflag='3'"
'执行相应SQL语句为几个变量赋值
fflag = "3"
'【1】普通商品运价
'<<<<<<<<<<<<<<<<<<<<<<<<<<<
qstring = "select j0,j1,j2,j3,j4,j5,j6,j7,j8 from tbl_fare_bz where DEP = '" & DEP & "' and DEST = '" & DEST & "' and gsno = '" & GOODCODE & "' and carrier='" & CARRIER & "' and beddate<= '" & FDATE & "' and enddate>='" & FDATE & "' and fflag='1'"
fflag = "1"
'【2】等级商品运价
'<<<<<<<<<<<<<<<<<<<<<<<<<<<
qstring = "select fjbf from tbl_fare_bz where DEP = '" & DEP & "' and DEST = '" & DEST & "' and gsno = '" & GOODCODE & "' and carrier='" & CARRIER & "' and beddate<= '" & FDATE & "' and enddate>='" & FDATE & "' and fflag='2'"
fflag = "2"
'----------------------------------------
'函数中间数据计算部分
'----------------------------------------
'对运价进行计算部分
'@@@@@@@@@@@@@@@@@@@@@@@
'【1】45~1000Kg之间
'@@@@@@@@@@@@@@@@@@@@@@@
If CW >= 45 And CW < 1000 Then
If CW >= 45 And CW < 100 Then
ax = 45
ay = 100
bx = cur3
by = cur4
ElseIf CW >= 100 And CW < 300 Then
ax = 100
ay = 300
bx = cur4
by = cur5
ElseIf CW >= 300 And CW < 500 Then
ax = 300
ay = 500
bx = cur5
by = cur6
Else
ax = 500
ay = 1000
bx = cur6
by = cur7
End If
wl = ay * by / bx
If CW < wl Then
wg = CW
k = bx
Else
k = by
wg = ay
End If
sum = wg * k
'@@@@@@@@@@@@@@@@@@@@@@@
'【2】CW<45Kg
'@@@@@@@@@@@@@@@@@@@@@@@
ElseIf CW < 45 Then
'M,N运价都为空
If cur1 = 0 And cur2 = 0 Then
wg = 45
k = cur3
sum = 45 * cur3
'M非空,N为空
ElseIf cur1 <> 0 And cur2 = 0 Then
wl = cur1 / cur3
If CW < wl Then
wg = CW
k = cur1
sum = cur1
Else
wg = 45
k = cur3
sum = 45 * cur3
End If
'M为空,N非空
ElseIf cur1 = 0 And cur2 <> 0 Then
wl = 45 * cur3 / cur2
If CW > wl Then
wg = 45
k = cur3
sum = 45 * cur3
Else
wg = CW
k = cur2
sum = CW * cur2
End If
'M,N均非空
Else
wl = cur1 / cur2
If CW > wl Then
wl = 45 * cur3 / cur2
If CW > wl Then
wg = 45
k = cur3
sum = 45 * cur3
Else
wg = CW
k = cur2
sum = CW * cur2
End If
Else
sum = cur1
wg = CW
k = cur1
End If
End If
'@@@@@@@@@@@@@@@@@@@@@@@
'【3】CW>1000Kg
'@@@@@@@@@@@@@@@@@@@@@@@
Else
'2000,3000Kg级别的运价信息都为空
If cur8 = 0 And cur9 = 0 Then
wg = CW
k = cur7
sum = wg * k
'2000,3000Kg级别的运价信息均非空
If CW >= 1000 And CW < 3000 Then
If CW >= 1000 And CW < 2000 Then
ax = cur7
ay = cur8
bx = 1000
by = 2000
Else
ax = cur7
ay = cur8
bx = 1000
by = 2000
End If
wl = ax * by / bx
If CW < wl Then
wg = CW
k = bx
Else
k = by
wg = ay
End If
sum = wg * k
Else
k = cur9
wg = CW
sum = k * wg
End If
Else
End If
End If
'如果存在等级运价信息,则还要与等级运价信息相乘
If fjbf <> 0 Then
sum = sum * fjbf
End If
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'格式化输出结果,数据输出格式
'格式为【sum#wg#k】
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
sum = Format(sum, "###0.00")
k = Format(sum, "###0.00")
wg = Format(wg, "###0.0")
jsyj = Str(sum) & "#" & Str(wg) & "#" & Str(k)
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -