以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]SqlFind 时间查询条件的疑惑 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151099) |
-- 作者:huangfanzi -- 发布时间:2020/6/15 12:27:00 -- [求助]SqlFind 时间查询条件的疑惑 项目中有以下代码,代码在表事件中双击行号打开一个打印预览窗口时执行: Dim dr上次车号 As DataRow dr上次车号 = _dt销售出库.SQLFind("发货时间 < \'" & tb.Current("发货时间") & "\' And 通知单号 = \'" & tb.Current("通知单号") & "\' And 状态 = \'有效\' And 审核 = 1" ,"发货时间 Desc") 正常情况下,同一个单号发货时间不会相同,至少隔1分钟,可是,近期用户发生了发货时间相同的相同,举例如下: 通知单号 发货单号 发货车号 发货时间 TZ001 1 1 2020-6-12 11:55 TZ001 2 2 2020-6-12 12:00 TZ001 3 3 2020-6-12 12:00 此时,执行上面代码,当打印2号或3号单时,上次车号都显示1号车,正确的情况是打印2号单才显示上次车号为1号车,打印3号单显示上次车号为2号车才对,新制定的规则是当时间相同时按发货单号排先后 于是我把代码改了下,如下: dr上次车号 = _dt销售出库.SQLFind("发货时间 <= \'" & tb.Current("发货时间") & "\' And 通知单号 = \'" & tb.Current("通知单号") & "\' And 发货单号 < \'" & tb.Current("发货单号") & "\'And 状态 = \'有效\' And 审核 = 1" ,"发货时间 Desc,发货单号 Desc") 可查出来结果不对,打印3号单时,上次车号还是显示1号车,也就是说 发货时间 <= \'" & tb.Current("发货时间") 中的“=”没起作用,原因是什么呢?数据库用的是SQL
|
-- 作者:有点蓝 -- 发布时间:2020/6/15 13:45:00 -- 到后台数据库里看看,发货时间是不是还有秒和毫秒? msgbox("发货时间 <= \'" & tb.Current("发货时间") & "\' And 通知单号 = \'" & tb.Current("通知单号") & "\' And 发货单号 < \'" & tb.Current("发货单号") & "\'And 状态 = \'有效\' And 审核 = 1" ) ‘看看实际条件’
|
-- 作者:huangfanzi -- 发布时间:2020/6/16 8:19:00 -- 这是SQL的销售出库表的截图,没有毫秒,是不是要显示毫秒要在SQL中设置的?条件代码没什么问题,这个项目已经运行快2年了,就是最近才出现了同一时间的情况,只发时间不同,执行结果是正确的 这个发货时间是在窗口中的SQLTable中录入的,并且设置了代码: dt2.dataCols("发货时间").SetDateTimeFormat(DateTimeFormatEnum.DateTime) \'格式化时间 另外做了个测试,代码如下: Dim dr1 As DataRow dr1 = _dt销售出库.SQLFind("单号 = \'202006120112\'") If dr1 IsNot Nothing Then \'如果找到的话 MessageBox.Show(dr1("发货时间")) End If Dim dr2 As DataRow dr2 = _dt销售出库.SQLFind("单号 = \'202006120113\'") If dr2 IsNot Nothing Then \'如果找到的话 MessageBox.Show(dr2("发货时间")) End If Dim Val As Integer Val = _dt销售出库.SQLCompute("Count(单号)","发货时间 = \'" & dr1("发货时间") &"\'") MessageBox.Show(Val) 单号112与113的发货时间是一样的,前二个MessageBox所显示的时间如下: 可第三个MessageBox的显示是0,按理来说应该是2才对 另外,在FT的发货时间列上尝试筛选,果然也是筛选不出记录 可是,哪些直接在主表上录入的时间是可以时行正常筛选的 难道就因为现在的这个发货时间是由于窗口中录入而出现异样了? [此贴子已经被作者于2020/6/16 8:53:31编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/6/16 8:48:00 -- 发货单号是字符型? 联系客服远程看看
|