以下代码在XP+office2010,win7+office2010,win2003+office2010(或office2003)中都能正常运行,但在win10企业版+office2010环境下运行后,提示程序无法运行,逐条测试查询条件,发现其它条件均正常,但在收货开始日期与收货结束日期处输入条件后,就提示程序无法运行:请问在windows10企业版下需要修改以下代码日期处的什么地方才能兼容运行本段查询,拜托大家啦。
Private Sub Command122_Click()
On Error GoTo Err_Command122_Click
Dim strWhere As String '定义条件字符串
strWhere = "" '设定初始值-空字符串
'判断【收货日期】条件是否有输入的值,由于有【日期开始】【日期结束】两个文本框
'所以要分开来考虑,也就是双字段同时查询
If Not IsNull(Me.Text112) Then
'【收货日期】有输入
strWhere = strWhere & "([收货日期] >= #" & Me.Text112 & "#) AND "
End If
If Not IsNull(Me.Text120) Then
'【单价结束】有输入
strWhere = strWhere & "([收货日期] <= #" & Me.Text120 & "#) AND "
End If
'判断【物品名称】条件是否有输入的值,此处是非模糊查询
If Not IsNull(Me.Combo114) Then
'有输入
strWhere = strWhere & "([物品名称] = '" & Me.Combo114 & "') AND " '非模糊查询,因是文本型,故combo0前后要加'号
End If
'判断【结清】条件是否有输入的值
If Not IsNull(Me.Combo116) Then
strWhere = strWhere & "([结清] = '" & Me.Combo116 & "') AND " '非模糊查询,因是文本型,故combo0前后要加'号
End If
'判断【茹主】条件是否有输入的值
If Not IsNull(Me.Combo117) Then
strWhere = strWhere & "([茹主] = '" & Me.Combo117 & "') AND " ' 非模糊查询,校名分类为文本型,故前后要加'号
End If
'判断【结账方】条件是否有输入的值
If Not IsNull(Me.Combo159) Then
strWhere = strWhere & "([结账方] = '" & Me.Combo159 & "') AND " ' 非模糊查询,校名分类为文本型,故前后要加'号
End If
'如果输入了条件,那么strWhere的最后肯定有" AND ",这是我们不需要的,
'要用LEFT函数截掉这5个字符。
If Len(strWhere) > 0 Then
'有输入条件
strWhere = Left(strWhere, Len(strWhere) - 5)
End If
'让子窗体应用窗体查询
Me.收货查询sub.Form.Filter = strWhere
Me.收货查询sub.Form.FilterOn = True
'在子窗体取消筛选后要运行一下自编子程序CheckSubformCount()
'Call CheckSubformCount
Exit_Command122_Click:
Exit Sub
Err_Command122_Click:
MsgBox Err.Description
Resume Exit_Command122_Click
End Sub