以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15283)

--  作者:桑格里拉
--  发布时间:2011/12/19 17:00:00
--  [求助]

Dim d1,d2 As Date
d1=e.Form.Controls("DateTimePicker1").Value
d2=e.Form.Controls("DateTimePicker2").Value
If d1.Month < Date.Today.Month  Then
    Tables("工资_Table1").Fill("Select * From {年度工资库} WHERE [日期] between #"& d1 &"# AND #"& d2 &"#",True)
    Tables("工资_Table1").Cols("月份").Visible = False
Else
    Tables("工资_Table1").Fill("Select * From {当月工资表}",True)
End If
Tables("工资_Table1").AutoSizeCols()
e.Form.Controls("Label9").text = Tables("工资_Table1").Rows.Count

请问红字的select语句应该如何改正?


--  作者:czy
--  发布时间:2011/12/19 18:24:00
--  

没看出有什么问题,按规范加上空格试试

 

Tables("工资_Table1").Fill("Select * From {年度工资库} WHERE [日期] between #" & d1 & "# AND #" & d2 & "#",True)


--  作者:yangming
--  发布时间:2011/12/19 18:49:00
--  
这段代码是我写给他的,在我的电脑中一切正常,我是XP的系统,他是WIN7的系统,可能差别只是这个,而在他的电脑中却出现错误,十分奇怪 ,说是select语句的错误,用的是内部表 ,主要的问题还在WHERE [日期]后面的d1,和d2
[此贴子已经被作者于2011-12-19 18:52:20编辑过]

--  作者:czy
--  发布时间:2011/12/19 19:00:00
--  

我在XP系统下没有任何问题。

等会我用win 7测试一下。


--  作者:yangming
--  发布时间:2011/12/19 19:06:00
--  
以下是引用czy在2011-12-19 19:00:00的发言:

我在XP系统下没有任何问题。

等会我用win 7测试一下。

上QQ,我发文件给你吧,我帮他做的一个小程序

[此贴子已经被作者于2011-12-19 19:06:33编辑过]

--  作者:程兴刚
--  发布时间:2011/12/19 19:11:00
--  
将d1、d2用format处理成电脑的系统日期格式,或者调整电脑日期格式试试!
--  作者:yangming
--  发布时间:2011/12/19 19:20:00
--  
以下是引用程兴刚在2011-12-19 19:11:00的发言:
将d1、d2用format处理成电脑的系统日期格式,或者调整电脑日期格式试试!

你是说win7中的日期格式与XP不同吗?还是他自己动过默认的格式?我没用过WIN7

[此贴子已经被作者于2011-12-19 19:20:57编辑过]

--  作者:yangming
--  发布时间:2011/12/19 20:11:00
--  

经向czy版主请教,认为改成下面这样,对于内部表应该更好些,(原代码并没有错),但是为什么在win7 中不行,现在还没查到原因.

 

原代码: Tables("工资_Table1").Fill("Select * From {年度工资库} WHERE [日期] between #"& d1 &"# AND #"& d2 &"#",True)

 

改成: Tables("工资_Table1").Fill("Select * From {年度工资库} Where [日期] >= #" & d1 & "# And 日期 <= #" & d2 & "#",True)

楼主可以试试,然后将结果报上来