select * from tb where DATEDIFF (dd, GETDATE() ,合同签至日期 ) <10
Option Explicit Dim rs As New ADODB.Recordset Private Sub Form_Load() Icon = LoadPicture(App.Path & "\favicon.ico") On Error Resume Next rs.Close rs.CursorLocation = adUseClient rs.Open "Select * From 收付表 Where 收付类型='收款' AND DATEDIFF (dd, GETDATE() ,收付款.交(提)货日期 ) <= 10", cn, adOpenKeyset, adLockOptimistic Set DataGrid1.DataSource = rs If rs.RecordCount = 0 Then MsgBox "无此合同"
End Sub 为什么老是输出无此合同呢,是什么原因啊,当把where条件去掉日期的限制以后可以得到收付类型为收款的合同,这是为什么呀
我是在VB中用的SQL SERVER 语句,说GETDATE()未定义咋整哇
你的交(提)货日期 跟当前时间比那个大啊?datediff函数里参数如果前大于后的时间会是负数
弄了测试例子了没?弄个到期时间、收付类型='收款'的例子试下了? 还有:你这是啥语言啊,如果是其他我见过的语言这是赋值语句啊: If rs.RecordCount = 0 肯定始终运行 MsgBox "无此合同"
select * from tb where DATEDIFF (dd, GETDATE() ,合同签至日期 ) <10
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
Icon = LoadPicture(App.Path & "\favicon.ico")
On Error Resume Next
rs.Close
rs.CursorLocation = adUseClient
rs.Open "Select * From 收付表 Where 收付类型='收款' AND DATEDIFF (dd, GETDATE() ,收付款.交(提)货日期 ) <= 10", cn, adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rs
If rs.RecordCount = 0 Then MsgBox "无此合同"
End Sub
为什么老是输出无此合同呢,是什么原因啊,当把where条件去掉日期的限制以后可以得到收付类型为收款的合同,这是为什么呀
弄了测试例子了没?弄个到期时间、收付类型='收款'的例子试下了?
还有:你这是啥语言啊,如果是其他我见过的语言这是赋值语句啊:
If rs.RecordCount = 0 肯定始终运行 MsgBox "无此合同"