End With com("mate_id")="SO200311220005" com("amount") = "6" com("is_over") = "yes" com.Execute If com("is_over") = "yes" Then MsgBox com("mate_id") & vbCr & "收货数量大于订单未交数量", vbOKOnly, "增加单据"--本来会执行这个语句,可就是不执行,都一天了,他不累我也累了。 GoTo Nomal_err End If 大家快帮忙看看
写错了: com("mate_id")="002"
功能: 比较收货的数量是否大于订单中还没有收的数量。 ---------------------------------------------------- 是不是应该求“收货的数量是否大于订单数量”才有意义?以下是SQL查询代替存诸过程的语句:slect a.mateID_vch, O_qty-iif(isnull(D_qty,0)) as 订单余数 from (select mateID_vch, sum(amount_num) as O_qty from 订单明细 group by matchID_vch) a left join (select mateID_vch, sum(amount_num) as D_qty from 收货单明细 group by mateid_vch) b on a.mateid_vch=b.mateid 另,你的订单明细中“收货数量”不必要吧,还有,两表中的金额,应该改成单价更好些。
@order_id='002'
@amnt=3
@over='no'@over作为输出参数不虽要传值!
表结构:
订单明细:
订单号 货品编号 数量 收货数量 金额 备注
ordeID_vch mateID_vch amount_num getAmnt_num sumItm_num Re_vch收货单明细:
收货单号 货品编号 数量 金额 备注
stocID_vch mateID_vch amount_num sumItm_num re_vch
command.parameters.item(2)="002"
command.parameters.item(3)="3"
command.execute(你的存储过程名)
@over=command.parameters.item(4)来得到输出的参数值。大概就是这个意思,具体我记不太清楚了,你试试吧。
.
.CommandText = "po_oc_stock_compare_amount"
.CommandType = adCmdStoredProc
.ActiveConnection = gCnn
'.Parameters.Refresh
.Parameters.Append .CreateParameter("order_id", adVarChar, adParamInput, 50, txtStocID_vch)
.Parameters.Append .CreateParameter("mate_id", adVarChar, adParamInput, 50)
.Parameters.Append .CreateParameter("amount", adVarChar, adParamInput, 50)
.Parameters.Append .CreateParameter("is_over", adVarChar, adParamOutput, 50, "")
End With
com("mate_id")="SO200311220005" com("amount") = "6"
com("is_over") = "yes"
com.Execute
If com("is_over") = "yes" Then
MsgBox com("mate_id") & vbCr & "收货数量大于订单未交数量", vbOKOnly, "增加单据"--本来会执行这个语句,可就是不执行,都一天了,他不累我也累了。
GoTo Nomal_err
End If
大家快帮忙看看
com("mate_id")="002"
比较收货的数量是否大于订单中还没有收的数量。
----------------------------------------------------
是不是应该求“收货的数量是否大于订单数量”才有意义?以下是SQL查询代替存诸过程的语句:slect
a.mateID_vch, O_qty-iif(isnull(D_qty,0)) as 订单余数
from
(select mateID_vch, sum(amount_num) as O_qty from 订单明细 group by
matchID_vch) a
left join
(select mateID_vch, sum(amount_num) as D_qty from 收货单明细 group by
mateid_vch) b
on
a.mateid_vch=b.mateid
另,你的订单明细中“收货数量”不必要吧,还有,两表中的金额,应该改成单价更好些。