Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:筛选条件表达式

1楼
creastzh 发表于:2024/5/4 14:49:00
老师好, 我编写了一个表达式用于计算满足条件的数量:
Q_Ps = DataTables("WOReleaseSchedule").SQLCompute("Count(*)", FL1) '计划入库行

筛选条件表达式:
FL1 = "SalesOrder='" & SOLine & "' And LineNo='" & LineNo1 & "' and BomLevel Like '" & BL & ".%' and Completed='C'"
用Output.show(FL1)
SalesOrder='ISO1932017' And LineNo='17' and BomLevel Like '0.%' And Completed= 'C'

每次运行均出现如下错误:

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
Incorrect syntax near the keyword 'LineNo'.

我仔细检查应该没有语句错误呀, 我删除目录 "bin" 后重新启动,仍然报错, 我用同样条件直接进行加载, 使用正常, 但主要写入SQLcompute 中就有问题, 能否请老师帮我看一下!

2楼
有点蓝 发表于:2024/5/5 20:37:00
LineNo是什么类型的列?整数?

试试
Q_Ps = DataTables("WOReleaseSchedule").SQLCompute("Count(SalesOrder)", FL1)
3楼
creastzh 发表于:2024/5/8 5:42:00
LineNo是字符型字段,(下图)

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

我更换了 Q_Ps = DataTables("WOReleaseSchedule").SQLCompute("Count(SalesOrder)", FL1) 语句执行, 仍然报错

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
Incorrect syntax near the keyword 'LineNo'.

语句执行用Output.show(FL1),类似结果:

ISO19530|27     BL:0     FL:SalesOrder='ISO19530' And LineNo='27' and BomLevel Like '0%' And Completed= 'C'

百思不得其解!



4楼
有点蓝 发表于:2024/5/8 8:30:00
WOReleaseSchedule是一个查询表?
5楼
creastzh 发表于:2024/5/8 11:55:00
WOReleaseSchedule 是实际存在的数据表,不是查询表
6楼
有点蓝 发表于:2024/5/8 11:58:00
如果是SqlServer,跟踪一下后台数据库,看看执行了什么sql
7楼
creastzh 发表于:2024/5/9 5:19:00
我在程序中仔细排查没有发现问题, 在表结构中也没有发现异常, 然后试着在SQL Server Management Studio 检查其字段信息时发现 LineNo 前后有方括号存在, 我不知道是如何产生的, 试图删除方括号却发现无效,删除后又自动添加了:

图片点击可在新窗口打开查看
8楼
creastzh 发表于:2024/5/9 6:29:00
终于发现这个字段名是系统保留的名称, 我修改了这个名称即可, 但没有想到接下来所有与此有关的程序都需要一样修改((# ̄~ ̄#)

只是我好奇,系统为什么不能有所提示? 

问题算基本解决了
9楼
有点蓝 发表于:2024/5/9 8:37:00
不要改列名的,在查询条件里也加上中括号即可

FL1 = "SalesOrder='" & SOLine & "' And [LineNo] ='" & LineNo1 & "' and BomLevel
10楼
creastzh 发表于:2024/5/11 17:40:00
好的, 后续我就可以这样做了,谢谢!
共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.