以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  价格为数字0,汇总表为空  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88235)

--  作者:260964006
--  发布时间:2016/7/29 14:56:00
--  价格为数字0,汇总表为空

If e.DataCol.Name = "零件图号" Then
    Dim ys As String() = {2015, 2016,2017}
    For Each y As String In ys
        If e.NewValue Is Nothing Then
            e.DataRow("年" & y & "_A点_供应商简称") = Nothing
            e.DataRow("年" & y & "_A点_含税单价") = Nothing
            e.DataRow("年" & y & "_B点_供应商简称") = Nothing
            e.DataRow("年" & y & "_B点_含税单价") = Nothing
        Else
            Dim dr As DataRow
            dr = DataTables("价格表" & y).Find("[零件图号] = \'" &   e.NewValue & "\'")
            If dr IsNot Nothing
                e.DataRow("年" & y & "_A点_供应商简称") = dr("A点_供应商简称")
                               e.DataRow("年" & y & "_A点_含税单价") = IIF(dr("A点_含税单价_更新后")=0, Nothing,dr("A点_含税单价_更新后"))
                e.DataRow("年" & y & "_B点_供应商简称") = dr("B点_供应商简称")
                               e.DataRow("年" & y & "_B点_含税单价") = IIF(dr("B点_含税单价_更新后")=0, Nothing,dr("B点_含税单价_更新后"))
            End If
        End If
    Next
End If

通过上面的程序,把价格表{2015, 2016,2017}汇总到“价格汇总表”时,怎么价格表里面为数字0的,汇总表为空呢?怎么修改程序?


--  作者:狐狸爸爸
--  发布时间:2016/7/29 15:52:00
--  

If e.DataCol.Name = "零件图号" Then
    Dim ys As String() = {2015, 2016,2017}
    For Each y As String In ys
        If e.NewValue Is Nothing Then
            e.DataRow("年" & y & "_A点_供应商简称") = Nothing
            e.DataRow("年" & y & "_A点_含税单价") = Nothing
            e.DataRow("年" & y & "_B点_供应商简称") = Nothing
            e.DataRow("年" & y & "_B点_含税单价") = Nothing
        Else
            Dim dr As DataRow
            dr = DataTables("价格表" & y).Find("[零件图号] = \'" &   e.NewValue & "\'")
            If dr IsNot Nothing
                e.DataRow("年" & y & "_A点_供应商简称") = dr("A点_供应商简称")
                e.DataRow("年" & y & "_A点_含税单价") = dr("A点_含税单价_更新后")
                e.DataRow("年" & y & "_B点_供应商简称") = dr("B点_供应商简称")
                e.DataRow("年" & y & "_B点_含税单价") = dr("B点_含税单价_更新后")
            End If
        End If
    Next
End If


--  作者:260964006
--  发布时间:2016/7/29 15:58:00
--  

你这个程序又把原来为空的,转化成数字0导过来了。

我的要求是:价格表是什么就导过来什么,数字0过来还是0,空过来还是空。


--  作者:狐狸爸爸
--  发布时间:2016/7/29 16:51:00
--  
用例子说话吧,要快速解决问题,就的让别人明白你的问题,配合例子尽量描述清楚问题。
--  作者:260964006
--  发布时间:2016/7/29 17:19:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

密码888,看价格汇总表红色的。对应去看前面的。

要求:价格表是什么就导过来什么,数字0过来还是0,空过来还是空。


--  作者:狐狸爸爸
--  发布时间:2016/7/30 8:58:00
--  

惭愧,我终于我明白你的意思了,这样:

 

e.DataRow("年" & y & "_A点_供应商简称") = iif(dr.Isnull("A点_供应商简称"),null,dr("A点_供应商简称"))

 

全部改一下,相关知识:

 

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

 

这一节的帮助,有详细的介绍。


--  作者:260964006
--  发布时间:2016/8/1 9:10:00
--  

谢谢,可以了。