ASP中关于DateDiff的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 10:10:32
sheet1表里有字段:购置日期,文本型,数据类似为:“2005.9”,或“没填”或空值;使用年限,数字型,或者为数字,或者为空值,现在我要做的是查找:特定某个时间enddate(字符串类型)与购买日期之差,大于使用年限的记录(这里如果“使用年限”字段为空的话使用默认值5),
sql="select * from sheet1 where (InStr(现状,'已报废')<=0 or isnull(现状))"
sql = sql & " and ( (DateDiff('Y',replace(购置日期,'.','-'),"&enddate&")/365)>5 )"
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
哪位大虾帮我看看应该怎么写这个语句,最好是能帮我注意下异常值或空值的情况。灰常感谢,俺把俺剩下的所有分双手奉上~~~~

嘿嘿,一个附加的小问题哈,rs1(bt(8))=FormatCurrency(request.form("text8")) rs1(bt(8))是一个货币类型的字段,为虾米 类型不匹配: 'FormatCurrency'
我也试了以下几种,都是错滴嘿嘿,rs1(bt(8))=cint(request.form("text8")) 或rs1(bt(8))=FormatCurrency(cint(request.form("text8"))))
一楼的俺试过了,不行滴,
二楼滴。俺是要求数据集啊。下面要执行rs1.open sql,conn,1,1。不用SQL用什么~~~~~~~

这句明显错误
sql = sql & " and ( (DateDiff('Y',replace(购置日期,'.','-'),"&enddate&")/365)>5 )"
这是判断的条件吧,干嘛还sql

应该是if------ then

所以说:驱动程序不支持所需的属性

sql = sql & " and ( (DateDiff('yyyy',replace(购置日期,'.','-'),"&enddate&"))>5 )"

rs1(bt(8))=clng(request.form("text8"))