求教 --Application.Evaluate()提示类型不匹配问题
DD 2012-02-14 04:12:04 EXCEL表中有 姓名 身份证号 性别 出生日期....
Sub 查询()
Dim AdoConn As New ADODB.Connection
Dim AdoRst As New ADODB.Recordset
Dim strConn As String
Dim strSQL As String
Dim strFName As String
Dim I As integer
'设置连接字符串
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & _
";Extended Properties=""Excel 12.0;HDR=YES"";"
'打开数据库链接
AdoConn.Open strConn
'设置SQL语句,查询所有记录
strSQL = "SELECT * FROM [数据库$] WHERE 0=1"
'执行查询,并打开记录集
AdoRst.Open strSQL, AdoConn, 3, 3
'重新设定SQL语句
strSQL = "SELECT * FROM [数据库$] WHERE"
'将各条件写入查询字段子句中
For I = 1 To AdoRst.Fields.Count - 1
strFName = AdoRst.Fields(I).Name
If Application.Evaluate(strfname) <> "" Then
strSQL = strSQL & " " & strFName & "=""" & Application.Evaluate(strFName) & """ AND"
End If
Next I
....
End Sub
当循环到I=2是,strFName 的值为"身份证号",Application.Evaluate(strfname)提示类型不匹配,返回ERROR ,如何解决这个问题???