想实现取某一天内所有到宾馆来登记人的名单
预订时间选取的是2003-8-26日时间段
在dtpicker的change事件里如下代码
Dim SQL As String
SQL = "select 姓名 from 查询10 where format(预订时间,'YYYY-MM-DD')<'" + CStr(DTPicker1.Value) + "'"
执行这句时可以找到记录
但是变为
SQL = "select 姓名 from 查询10 where format(预订时间,'yyyy-mm-dd')<" + CStr(DTPicker1.Value) + " and format(预订时间,'yyyy-mm-dd')>" + CStr(DTPicker1.Value - 1) + ""
后就报类型不匹配 查不到记录了
究竟是怎么回事
预订时间选取的是2003-8-26日时间段
在dtpicker的change事件里如下代码
Dim SQL As String
SQL = "select 姓名 from 查询10 where format(预订时间,'YYYY-MM-DD')<'" + CStr(DTPicker1.Value) + "'"
执行这句时可以找到记录
但是变为
SQL = "select 姓名 from 查询10 where format(预订时间,'yyyy-mm-dd')<" + CStr(DTPicker1.Value) + " and format(预订时间,'yyyy-mm-dd')>" + CStr(DTPicker1.Value - 1) + ""
后就报类型不匹配 查不到记录了
究竟是怎么回事
我数据里预定时间记录是类似这些
2003-8-26 15:30:00
2003-8-27 19:30:00
2003-8-26 16:30:00
2003-8-26 18:30:00
2003-8-26 20:30:00
2003-8-27 1:30:00
是access数据库里日期型格式
选的dtpicker1的值是2003-8-26
执行的语句是
Set RS = ConHotel.Execute(SQL)
MsgBox RS.RecordCount
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
If RS.EOF = True Then
MsgBox "ERROR!"
Exit Sub
End If
SQL = "select 姓名 from 查询10 where 预订时间<convert(datetime,'" + CStr(DTPicker1.Value) + "',103) and 预订时间>convert(datetime,'" + CStr(DTPicker1.Value - 1) + "',103)"
试试看吧!
后来用
SQL = "SELECT 姓名 FROM 查询10 WHERE DateDiff('d', Format(预订时间, 'YYYY-MM-DD')," + CStr(DTPicker1.Value) + ")=0"
来判断 即使为真
在conhotel.execute(sql) 执行后还是取不到一条记录
到底是什么原因?
DATA1.RECORDSOURE="SELECT * FROM GZMX WHERE GZMX.DATAE BETWEEN"+CHR(35)+DTPICKER1.VALUE+CHR(35)+"AND"+CHR(35)+DTPICKER2.VALUE+CHR(35)
此语句是一个销售系统的日期查询语句,希望对你有帮助