Foxtable(狐表)用户栏目专家坐堂 → 另一表数据导入


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

主题:另一表数据导入

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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
另一表数据导入  发帖心情 Post By:2016/6/24 17:25:00 [只看该作者]

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

我要想实现这些功能,怎么设置上述程序,放表属性datacolchanged没有数据过来。

*If e.DataRow("车型") <> "售后"  Then
    Select Case e.DataCol.name
        Case "零件图号"
            If e.newvalue > "" Then
                Dim dr As DataRow = DataTables("价格汇总表").Find("零件图号 = '" & e.newValue & "'")
                If dr Is Nothing Then
                    dr = DataTables("价格汇总表").AddNew()
                    dr("零件图号") = e.DataRow("零件图号")
                    dr("零件名称") = e.DataRow("零件名称")
                    dr("车型") = e.DataRow("车型")
                End If
            End If
        Case "零件名称","车型"
            Dim dr As DataRow = DataTables("价格汇总表").Find("零件图号 = '" & e.DataRow("零件图号") & "'")
            If dr IsNot Nothing Then
                dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
            End If
    End Select
End If
  零部件的名称提供这个来的。

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/24 17:27:00 [只看该作者]

必须输入 零件图号 的值,才会引入你需要的值。


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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
  发帖心情 Post By:2016/6/24 17:28:00 [只看该作者]

在零部件图号不变的情况下,能引入吗?怎么改程序?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/24 17:29:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
  发帖心情 Post By:2016/6/24 17:54:00 [只看该作者]

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

1、上述程序可否优化?    2、原表为空是,导过了也为空,而不是0.

DataTables("表名").DataCols("B").RaiseDataColChanged()   不是放在表属性dataclochanged吗?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/24 18:11:00 [只看该作者]


If e.DataCol.Name = "零件图号" Then
    Dim ys As String() = {2015, 2016}
    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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
  发帖心情 Post By:2016/6/25 9:49:00 [只看该作者]

 1、原表为空是,导过了也为空,而不是0,怎么设置?

2、DataTables("表名").DataCols("B").RaiseDataColChanged()   不是放在表属性dataclochanged吗?


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/6/25 10:15:00 [只看该作者]

1、 e.DataRow("年2016_B点_含税单价") = IIF(dr.isnull("B点_含税单价_更新后"),0,dr("B点_含税单价_更新后"))

2、放到按钮事件中

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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
  发帖心情 Post By:2016/6/27 15:35:00 [只看该作者]

原来为空的含税单价,还是导过来显示含税单价为0,我希望导过来还是为空。

供应商简称都能满足。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/27 15:51:00 [只看该作者]

e.DataRow("年2016_B点_含税单价") = IIF(dr("B点_含税单价_更新后")=0, Nothing,dr("B点_含税单价_更新后"))

[此贴子已经被作者于2016/6/27 15:51:51编辑过]

 回到顶部