Foxtable(狐表)用户栏目专家坐堂 → DataTable加载中用“Year(DocTm) = 2018”会有错误?


  共有2496人关注过本帖树形打印复制链接

主题:DataTable加载中用“Year(DocTm) = 2018”会有错误?

帅哥哟,离线,有人找我吗?
kylin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
DataTable加载中用“Year(DocTm) = 2018”会有错误?  发帖心情 Post By:2018/8/3 19:41:00 [只看该作者]

根据示例:例如,用SQLCompute统计2013年的销售数量:
Dim
Val As Integer
Val
= DataTables("订单").SQLCompute("Sum(数量)", "Year(日期) = 2013")

 

我的代码是:Dim cmd As New SQLCommand
cmd.Conn  ecti
cmd.CommandText = "SEL ECT WrtEnd From {PrjFrm} Where DtNam = '"& wr("CurDt") &"' And YM = '"& ny &"'"
Dim jz As Boolean = cmd.ExecuteScalar()

产生的错误提示如下:


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180803193438.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107119 积分:544832 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/3 20:11:00 [只看该作者]

看看完整sql

msgbox("SEL ECT WrtEnd From {PrjFrm} Where DtNam = '"& wr("CurDt") &"' And YM = '"& ny &"'")

 回到顶部
帅哥哟,离线,有人找我吗?
kylin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2018/8/4 12:35:00 [只看该作者]

FoxTable的版本是最新的


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107119 积分:544832 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2018/8/4 15:16:00 [只看该作者]

就在同一个窗口打开的代码当中,换一个进入本窗口的方式(回避以上报告错误的情况),结果发现另外一个问题,自定义的函数也找不到了。

1、这是引用自定义函数的窗口


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180804151359.jpg
图片点击可在新窗口打开查看

2、这是报告错误

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180804151441.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/8/4 15:21:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107119 积分:544832 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/4 15:22:00 [只看该作者]

删除项目里的bin目录,重启一下项目。

如果函数找不到,一般是前面有函数编译出错了。函数是按顺序编译的,如果前面的编译出错可能会导致后面的函数都无法编译,

 回到顶部
帅哥哟,离线,有人找我吗?
kylin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By: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 &"'"

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107119 积分:544832 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2018/8/7 14:25:00 [只看该作者]

收到建议,谢谢版主

 回到顶部