以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于Compute的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=9048)

--  作者:yankunhao
--  发布时间:2011/1/23 9:00:00
--  关于Compute的问题

一个查询窗口中有个“导入选定”按钮,代码如下:

Dim tbl As Table = Tables("ERP订单查询_Table1")
Dim db As String=tbl.DataTable.name
For Each dr1 As DataRow In DataTables("授权表").Select("用户名 = \'" & Vars("_UserName") & "\'" )
    If dr1("表名") =Tables(MainTable.Name).Name AndAlso dr1("不可增加")=False Then
        For Each r1 As Row In Tables("ERP订单查询_Table1").GetCheckedRows
            If  DataTables(MainTable.Name).Find("交货期 = #" & r1("确定交期") & "# and 订单号 = \'" & r1("订单号") & "\' and 成品类别 = \'" & r1("料品类别") & "\'and 成品名称 = \'" & r1("料品名称") & "\'") Is Nothing Then
                Dim r2 As Row  = Tables(MainTable.Name).AddNew()
                r2("交货期") = r1("确定交期")
                r2("订单号") = r1("订单号")
                r2("成品类别") = r1("料品类别")
                r2("成品名称") = r1("料品名称")
                Dim Sum As Double
                Sum = tbl.Compute("Sum(打数)", "[订单号] = \'" & r1("订单号") & "\'and [确定交期] = #" & r1("确定交期") & "# And [料品类别] = \'" & r1("料品类别") & "\' and [料品名称] = \'" & r1("料品名称") & "\'")
                r2("打数") = sum
            End If
           
        Next
    End If
Next

 

执行后得到的数据中的“打数”列有些对有些为0,真的想不明白啊!

 



此主题相关图片如下:12.jpg
按此在新窗口浏览图片

[此贴子已经被作者于2011-1-23 9:02:49编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/1/23 9:10:00
--  

说明结果本来就是0


--  作者:yankunhao
--  发布时间:2011/1/23 9:15:00
--  
以下是引用狐狸爸爸在2011-1-23 9:10:00的发言:

说明结果本来就是0

那为什么我在查询窗口见到的是68?结果怎会本来就是0呢?能否说明道理?我原来的代码如果不加上确定交期这个条件是能正确得到结果的只是这个结果是不分日期的。

[此贴子已经被作者于2011-1-23 9:19:41编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/1/23 9:28:00
--  

呵呵,要相信电脑是机械的,这种计算肯定是不会出错的,同样由于他是机械的,“北京” 和“北京 ”是完全不同的地方,后面有空格或者回车都不行的。

看看是不是条件不一致吧,搞不定就做个简单例子上传。

 

[此贴子已经被作者于2011-1-23 9:29:56编辑过]

--  作者:czy
--  发布时间:2011/1/23 9:29:00
--  
唯一的解释是该条记录的复选框没有选中。
--  作者:yankunhao
--  发布时间:2011/1/23 9:45:00
--  
以下是引用czy在2011-1-23 9:29:00的发言:
唯一的解释是该条记录的复选框没有选中。

我试过了,不是这个原因


--  作者:czy
--  发布时间:2011/1/23 10:21:00
--  
如果这两项都否了,俺就不知道是什么原因了,发项目来看看。
--  作者:yankunhao
--  发布时间:2011/1/23 10:33:00
--  
以下是引用czy在2011-1-23 10:21:00的发言:
如果这两项都否了,俺就不知道是什么原因了,发项目来看看。

我想问题是出现在“确定交期”上,我检查了下ERP数据库里那个“确定交期”发现那个日期虽然显示是"2010-11-18",但实际复制出到文本里显示的是“2010-11-18 10:38:19”,请问这个如何处理呢?


--  作者:yankunhao
--  发布时间:2011/1/23 11:45:00
--  

现在问题解决了,我在生成窗口表的SQL语句里修改了一下

 

{ov_sal_ord_detail}.affirm_date as 确定交期,

 

现在为

convert(varchar(10), {ov_sal_ord_detail}.affirm_date,120) as 确定交期,

 

真是烦啊!!


--  作者:狐狸爸爸
--  发布时间:2011/1/23 12:09:00
--  
呵呵,编程就是这样的,差之毫厘,失之千里。