|
我做了一个Access的程序, 在子窗体中对某一文本框BeforeUpdate时做较验. 在我自己电脑上运行没任何问题, 但是发给用户后, 她运行时会出现" Find cannot be performed over the specified column,or compare operator is invalid."错误.
我仔细检查过了, 双方运行软环境是一样的:
Access2003(公司统一装的, 版本号也一样)
Reference中: ADO library 2.1 / DAO3.6也一样, 我甚至把这几个对应的文件都拷过去覆盖了她电脑上的文件.
但还是有问题.
请教怎么解决呢?
说明: 后台数据库是IBM AS400, 但这应该不影响吧? (至少在我的电脑上是没任何问题的)
附代码如下:
Private Sub InvoiceNo_BeforeUpdate(Cancel As Integer)
On Error GoTo Err_Handle:
If IsNull(InvoiceNo) Or InvoiceNo = "" Or InvoiceNo = 0 Then
MsgBox "发票号不能为空, 如果要删除本行, 请点右键, 选择删除记录即可"
Cancel = True
Exit Sub
End If
rsData.MoveFirst
rsData.Find ("CFINV = " & CStr(InvoiceNo))
If rsData.EOF Then
MsgBox "错误的发票号码! 可能是已经登记过."
Cancel = True
Exit Sub
End If
OrderNo = rsData("CFORD")
CustNo = rsData("CFCUST")
CustName = rsData("ALPH")
Select Case CStr(rsData("CFSTS"))
Case "2"
Correct = "Wrong"
Case "1"
Correct = "Correct"
Case "0"
Correct = "Unknow"
End Select
If (rsData("INVQTY") <> rsData("ORDQTY")) And (rsData("INVTYP") = "O") Then
Partial = "Y"
MsgBox "注意,这是张Partial发票", vbCritical + vbOKOnly + vbApplicationModal
End If
Exit_Sub:
Exit Sub
Err_Handle:
MsgBox Err.Description
End Sub
[ 本帖最后由 waleywang 于 2009-1-21 17:13 编辑 ] |
|