在集装箱管理中,有一个装箱表(表名称为CTRSTATUS),其中包括有单号(CONTAINER)和状态(STATUS)两个字段和其它一些字段。
我们的装箱顺序是:FV→FU→MA→MS
问题:在录入记录(单号为X,状态为FU)时,要检查单号X的FV是否已录入,如果没有录入,则不允许录入该单号的FU。
意义:这样可以减少出错的机会,提示操作员按工序录入。
解决方案:
在CTRSTATUS的更新后事件中加上检测代码,主要采用了Dlookup函数,如下:
Dim strSTATUS As String
Dim strCONTAINERNO As String
strSTATUS = Me.STATUS'状态
strCONTAINERNO = Me.CONTAINER'单号
If strSTATUS = "MA" Then'如果状态为MA
'如果表CTRSTATUS中不存在该单号的FU状态
If IsNull(DLookup("STATUS", "CTRSTATUS", "[CONTAINER]='" & strCONTAINERNO & "' and [STATUS]='FU'")) Then
'提示
MsgBox "该单号的FU状态未录入,请录入FU"
'退出子程序
Exit Sub
End If
End If
If strSTATUS = "MS" Then
If IsNull(DLookup("STATUS", "CTRSTATUS", "[CONTAINER]='" & strCONTAINERNO & "' and [STATUS]='MA'")) Then
MsgBox "该单号的MA状态未录入,请录入MA"
Exit Sub
End If
End If