+ -
当前位置:首页 → 问答吧 → 运行时错误(80040e70)标准表达式中数据类型不匹配

运行时错误(80040e70)标准表达式中数据类型不匹配

时间:2011-08-05

来源:互联网

我在VBA中使用SQL语句,如果使用这个SQL语句,程序可以正常运行
  sql = "select * from [存款$A1:E517] where f4>#" & End_Date & "#"

但是选择这个SQL语句,系统会跳出提示显示“运行时错误(80040e70)标准表达式中数据类型不匹配”
    sql = "select * from [存款$A1:E517] where f4='活期'"

请达人帮忙修改一下这个语句,谢谢!

详见附件

附件

标准表达式中数据类型不匹配.rar(17.7 KB)

2011-8-5 07:29, 下载次数: 5

作者: organ   发布时间: 2011-08-05

复制内容到剪贴板
代码:
Private Sub CommandButton2_Click()
End_Date = "2011-08-02"
Dim conn, rst As Object, sql$
Range("A2:Z65536").ClearContents
Set conn = CreateObject("adodb.connection")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no;';Data Source=" & ThisWorkbook.FullName
sql = "select * from [存款$A1:E517] where f4>#" & End_Date & "#"
Range("a2").CopyFromRecordset conn.Execute(sql)
conn.Close
Set conn = Nothing
End Sub
看附件

附件

标准表达式中数据类型不匹配.rar(16 KB)

2011-8-5 08:06, 下载次数: 4

作者: ctp_119   发布时间: 2011-08-05

谢谢CTP老师的解答
sql = "select * from [存款$A1:E517] where f4>#" & End_Date & "#"
这个SQL语句运行的时候是没有问题。
我的问题是,如果把这个sql语句换成   
sql = "select * from [存款$A1:E517] where f4='活期'"
的话为什么会有错误的提示?我这个SQL语句哪里写错了?
谢谢

作者: organ   发布时间: 2011-08-05

f4是日期型的

作者: doitbest   发布时间: 2011-08-05

相关阅读 更多