我写的是如下这样的一个插件,想在老单据上挂上这个插件,在调试的过程中,这段VB程序可以正常的执行,每一句都可以通过,但是在执行完毕后,弹出下面的对话框,我是一个新手,实在是不知道是什么原因,希望各位指点一下。我用的是金碟10.4版本.
'定义 BillEvent 接口. 必须具有的声明, 以此来获得事件
Private WithEvents m_BillTransfer As k3BillTransfer.Bill
Public Sub Show(ByRef o As Object)
Set m_BillTransfer = o
End Sub
Private Sub Class_Terminate()
Set m_BillTransfer = Nothing
End Sub
'上面这个方法结束后出现的这个错误对话框
Private Sub m_billtransfer_BeforeSave(ByVal bNew As Boolean, ReturnCode As Long)
Dim sctype As String
Dim jj As Variant
Dim i, fitemidcol As Integer
Dim TEntryctl As Variant
Dim count, countshiji As Variant
sctype = m_BillTransfer.GetHeadText(37)
TEntryctl = m_BillTransfer.EntryCtl
If sctype = "生产" Then
For i = 1 To UBound(TEntryctl(4).DInterID) - 1
count = m_BillTransfer.GetGridText(i, 11)
countshiji = m_BillTransfer.GetGridText(i, 12)
If countshiji If MsgBox("采购数量超过定额数量,是否要保存?", vbYesNo, "提示") = vbNo Then
Exit Sub
End If
End If
Next
End If
End Sub
上面的插件丢了点代码,下面的是完整的。
'定义 BillEvent 接口. 必须具有的声明, 以此来获得事件
Private WithEvents m_BillTransfer As k3BillTransfer.Bill
Public Sub Show(ByRef o As Object)
Set m_BillTransfer = o
End Sub
Private Sub Class_Terminate()
Set m_BillTransfer = Nothing
End Sub
'上面这个方法结束后出现的这个错误对话框
Private Sub m_billtransfer_BeforeSave(ByVal bNew As Boolean, ReturnCode As Long)
Dim sctype As String
Dim jj As Variant
Dim i, fitemidcol As Integer
Dim TEntryctl As Variant
Dim count, countshiji As Variant
sctype = m_BillTransfer.GetHeadText(37)
TEntryctl = m_BillTransfer.EntryCtl
If sctype = "生产" Then
For i = 1 To UBound(TEntryctl(4).DInterID) - 1
count = m_BillTransfer.GetGridText(i, 11)
countshiji = m_BillTransfer.GetGridText(i, 12)
If countshiji If MsgBox("采购数量超过定额数量,是否要保存?", vbYesNo, "提示") = vbNo Then
Exit Sub
End If
End If
Next
End If
End Sub
补充时间:2008-7-2 9:49:55