Foxtable(狐表)用户栏目专家坐堂 → 条件表达式设置错误


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

主题:条件表达式设置错误

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


加好友 发短信
等级:幼狐 帖子:153 积分:1138 威望:0 精华:0 注册:2016/5/15 21:50:00
条件表达式设置错误  发帖心情 Post By:2016/10/30 12:01:00 [只看该作者]

当表1中的日期列和单位列发生改变时,表2的日期列和单位列如无对应行就新增一行。在表1的beforesaverow事件中设代码如下:
dim dr as datarow
dr = datatables("表2“).find("日期 = ‘“ & currenttable.current"日期” & “’” and "单位 = ‘“ & currenttable.current"单位” & “’”)
if dr is nothing then
datatables("表2“).addnew
end if
电脑就提示:代码 "日期 = ‘“ & currenttable.current"日期” & “’” and "单位 = ‘“ & currenttable.current"单位” & “’”  转换无效。
如果把代码"日期 = ‘“ & currenttable.current"日期” & “’” and "单位 = ‘“ & currenttable.current"单位” & “’” 分成"日期 = ‘“ & currenttable.current"日期” & “’ 或 "单位 = ‘“ & currenttable.current"单位” & “’”,电脑不会报错。为何合在一起就报错?请老师指教!

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/30 12:52:00 [只看该作者]

dr = datatables("表2“.find("日期 = #“ & currenttable.current"日期”) & “# and "单位 = ‘“ & currenttable.current"单位”) & “’”)

还有如果是表事件,事件代码不应该出现CurrentTable,也不应该出现Current,应该用事件e参数:

http://www.foxtable.com/webhelp/scr/0604.htm


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


加好友 发短信
等级:幼狐 帖子:153 积分:1138 威望:0 精华:0 注册:2016/5/15 21:50:00
  发帖心情 Post By:2016/10/30 15:13:00 [只看该作者]

老师:我按照您的方法进行了验证,问题没有得到解决。验证分四次:
一、代码为:dr = datatables("表2“).find("日期 = #“ & currenttable.current"日期”) & “# and "单位 = ‘“ & currenttable.current"单位”) & “’”)
二、代码为:dr = datatables("表2“).find("日期 = ‘“ & e.datarow("日期”) & “'" and "单位 = ‘“ & e.datarow("单位”) & “’”)
三、代码为:dr = datatables("表2“).find("日期 = ‘“ & e.datarow("日期”) & “'" )
四、代码为:dr = datatables("表2“).find( "单位 = ‘“ & e.datarow("单位”) & “’”)
前两次电脑均表示条件表达式有错误,后两次电脑没有错误提示。
问题到底出在哪儿?请版主老师指点。

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


加好友 发短信
等级:幼狐 帖子:153 积分:1138 威望:0 精华:0 注册:2016/5/15 21:50:00
  发帖心情 Post By:2016/10/30 20:19:00 [只看该作者]


老师:我按照您的方法进行了验证,问题没有得到解决。验证分四次:
一、代码为:dr = datatables("表2“).find("日期 = #“ & currenttable.current"日期”) & “# and "单位 = ‘“ & currenttable.current"单位”) & “’”)
二、代码为:dr = datatables("表2“).find("日期 = ‘“ & e.datarow("日期”) & “'" and "单位 = ‘“ & e.datarow("单位”) & “’”)
三、代码为:dr = datatables("表2“).find("日期 = ‘“ & e.datarow("日期”) & “'" )
四、代码为:dr = datatables("表2“).find( "单位 = ‘“ & e.datarow("单位”) & “’”)
前两次电脑均表示条件表达式有错误,后两次电脑没有错误提示。
问题到底出在哪儿?请老师指点。


 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110579 积分:562791 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/31 9:29:00 [只看该作者]

多余的双引号

dr = DataTables("表2").find("日期 = '" & e.DataRow("日期") & "' and 单位 = '" & e.DataRow("单位") & "'")

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


加好友 发短信
等级:幼狐 帖子:153 积分:1138 威望:0 精华:0 注册:2016/5/15 21:50:00
  发帖心情 Post By:2016/10/31 10:56:00 [只看该作者]

如删掉双引号,电脑就不能运行代码。原来的代码可以运行,只是电脑提示字符串转换错误。且原来的代码如拆开运行,没有错误提示,合起来运行就出现错误。

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110579 积分:562791 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/31 11:27:00 [只看该作者]

电脑就不能运行代码是什么意思,查不到数据?那说明没有符合条件的数据,和代码没有关系。

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


加好友 发短信
等级:幼狐 帖子:153 积分:1138 威望:0 精华:0 注册:2016/5/15 21:50:00
  发帖心情 Post By:2016/10/31 11:49:00 [只看该作者]

如将双引号删除,双引号后面的语句代码变灰色了。按“确定”键后,电脑提示语句错误。

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


加好友 发短信
等级:幼狐 帖子:153 积分:1138 威望:0 精华:0 注册:2016/5/15 21:50:00
  发帖心情 Post By:2016/10/31 12:55:00 [只看该作者]

现在可以了。我把单引号and字符前面的双引号删掉,保留单引号前面的双引号,再删掉[单位]前面的双引号就可以了。

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


加好友 发短信
等级:幼狐 帖子:153 积分:1138 威望:0 精华:0 注册:2016/5/15 21:50:00
  发帖心情 Post By:2016/10/31 13:00:00 [只看该作者]

谢谢老师指点!图片点击可在新窗口打开查看

 回到顶部