以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- DataTable加载中用“Year(DocTm) = 2018”会有错误? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122898) |
-- 作者:kylin -- 发布时间:2018/8/3 19:41:00 -- DataTable加载中用“Year(DocTm) = 2018”会有错误? 根据示例:例如,用SQLCompute统计2013年的销售数量:
我的代码是:Dim cmd As New SQLCommand 产生的错误提示如下: 此主题相关图片如下:微信截图_20180803193438.png |
-- 作者:有点蓝 -- 发布时间:2018/8/3 20:11:00 -- 看看完整sql msgbox("SEL ECT WrtEnd From {PrjFrm} Where DtNam = \'"& wr("CurDt") &"\' And YM = \'"& ny &"\'")
|
-- 作者:kylin -- 发布时间:2018/8/4 12:07:00 -- 抱歉,一楼贴错代码了,更正一下: Dim syr as String = "张三" Dim n as Integer = 2018 Dim y as Integer = 8 Dim zflt as String = "Drwr = \'"& syr &"\' And Year(DocTm) = "& n &" And Month(DocTm) = "& y \'Year(DocTm) = "& n &" And Month(DocTm) = "& y \'这个会报警错误的函数Year? DataTables(zb).LoadFilter = zflt
DataTables(zb).Load [此贴子已经被作者于2018/8/4 12:07:23编辑过]
|
-- 作者:kylin -- 发布时间:2018/8/4 12:35:00 -- FoxTable的版本是最新的 |
-- 作者:有点蓝 -- 发布时间:2018/8/4 13:48:00 -- 内部表,access,SqlServer数据库我都测试过这个用法没有问题 Dim n As Integer = 2018 Dim y As Integer = 8 Dim zflt As String = "Year(日期) = " & n & " And Month(日期) = " & y DataTables("入库单").LoadFilter = zflt DataTables("入库单").Load |
-- 作者:kylin -- 发布时间:2018/8/4 15:16:00 -- 就在同一个窗口打开的代码当中,换一个进入本窗口的方式(回避以上报告错误的情况),结果发现另外一个问题,自定义的函数也找不到了。 1、这是引用自定义函数的窗口
2、这是报告错误 [此贴子已经被作者于2018/8/4 15:21:33编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/8/4 15:22:00 -- 删除项目里的bin目录,重启一下项目。 如果函数找不到,一般是前面有函数编译出错了。函数是按顺序编译的,如果前面的编译出错可能会导致后面的函数都无法编译,
|
-- 作者:kylin -- 发布时间:2018/8/4 16:27:00 -- 3楼的代码还是解决不了出错的问题,既然斗不过,那还是可以躲得过啊,主要更改的代码如下: Dim d1,d2 AS Date d1 = New Date(n,y,1)
d2 = New Date(n,y,Date.DaysInMonth(n,y)) zflt = zflt + " And Drwr = \'"& syr &"\' And DocTm >= \'"& d1 &"\' And DocTm <= \'"& d2 &"\'" |
-- 作者:有点蓝 -- 发布时间:2018/8/4 16:30:00 -- 按月判断,个人也建议这样用,不过可能有点bug,这样比较严谨 Dim d1 AS Date d1 = New Date(n,y,1) zflt = zflt + " And Drwr = \'"& syr &"\' And DocTm >= \'"& d1 &"\' And DocTm < \'"& d1.adddays(1) &"\'" |
-- 作者:kylin -- 发布时间:2018/8/7 14:25:00 -- 收到建议,谢谢版主 |