Foxtable(狐表)用户栏目专家坐堂 → [求助]高速合并中条件表达式如何写


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

主题:[求助]高速合并中条件表达式如何写

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


加好友 发短信
等级:婴狐 帖子:17 积分:181 威望:0 精华:0 注册:2024/3/3 11:40:00
[求助]高速合并中条件表达式如何写  发帖心情 Post By:2025/3/11 18:50:00 [只看该作者]

问题:合并分厂数据到总表。
条件:1-指定月份
      2-某科目及明细(一级科目1131和1133)

dim yf as integer = ..
dim flt1 as string = "[月份] = " & yf 
dim flt2 as string = "([科目代码] like '1131%' OR [科目代码] like '1133%')”
dim flt as string = flt1 & " And " & flt2 

Dim mg As New Merger
mg.SourcePath = "X:\数据区\环保设备厂2025.MDB"
mg.SourceTableName = "金额余额表"
mg.Filter = flt
mg.DataTableName = "各核算点余额表"
mg.Merge()

运行时提示:
语法错误(操作符丢失)在查询表达式‘([科目代码] like '1131%' OR [科目代码] like '1133%')’中

请问查询表达式该如何写。

请老师赐教,谢谢!


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


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

msgbox(flt )显示什么内容?

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


加好友 发短信
等级:婴狐 帖子:17 积分:181 威望:0 精华:0 注册:2024/3/3 11:40:00
  发帖心情 Post By:2025/3/12 9:04:00 [只看该作者]

显示:
[月份]  = 1 AND  ([科目代码] like '1131%' OR [科目代码] like '1133%')

如果只有月份,运行正常
如果只有 “[科目代码] like '1131%'“ 也不能正常运行,提示 语法错误“Or”运算符前缺少操作数
如果是 “[科目代码] like '1131%' OR [科目代码] like '1133%'“ 同样提示 语法错误“Or”运算符前缺少操作数

以前也碰到过。

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


加好友 发短信
等级:超级版主 帖子:112701 积分:573844 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/12 9:37:00 [只看该作者]

可能是输入了非半角的字符,把OR改为小写,然后前后的空格以及符号重新输入试试,注意输入的时候是不是半角状态

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


加好友 发短信
等级:婴狐 帖子:17 积分:181 威望:0 精华:0 注册:2024/3/3 11:40:00
  发帖心情 Post By:2025/3/12 10:45:00 [只看该作者]

这个问题我碰到不至10次。
好几个本都试过了。
此路不通可绕行,需要写太多的代码,我已经因此耗费时间太多了。
可以这样考虑,是否是系统的BUG?


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


加好友 发短信
等级:超级版主 帖子:112701 积分:573844 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/12 10:58:00 [只看该作者]

这个绝对不可能是bug。如果是偶尔,肯定是输错字符。

如果可以重现,请提供实例测试

 回到顶部