以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]批量导入自动扩表获取数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140575)

--  作者:huangjiacai
--  发布时间:2019/9/9 11:29:00
--  [求助]批量导入自动扩表获取数据
“预算使用申请表”与“基础预算表”间设置了“预算编号”关联,只要预算使用申请表填写了“预算编号”,就会自动从“基础预算表”中获取“一级科目”、“预算金额”等数据,单条记录的时候可以实现,但是批量导入的时候只有第一条生效,咋整,是不是代码要优化呢?
图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

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

--  作者:有点蓝
--  发布时间:2019/9/9 11:53:00
--  
这个代码在什么事件里的?
--  作者:huangjiacai
--  发布时间:2019/9/10 9:20:00
--  
datacolchanged
--  作者:有点蓝
--  发布时间:2019/9/10 10:22:00
--  
先看看帮助:http://www.foxtable.com/webhelp/topics/0625.htm

每个事件都有其使用场景和限制,不是乱用的。

另外如果请尽量把代码文字发上来,而不是截图,这样没有办法改

--  作者:huangjiacai
--  发布时间:2019/9/11 8:53:00
--  

With Tables("预算使用申请表").Current
\'    Dim r As Row = Tables("预算使用申请表").Current
    If .IsNull("预算编号") = False Then
        Dim r As Row = Tables("预算使用申请表").Current
        Dim dr As DataRow
        Dim dr1 As DataRow
        dr = DataTables("基础预算表").Find("[预算编号] = \'" & Tables("预算使用申请表").Current("预算编号") & "\'")
        If dr IsNot Nothing Then
            r("预算项目名称") = dr("项目名称")
            r("预算金额") = dr("预算金额")
            r("一级科目") = dr("一级科目")
            r("二级科目") = dr("二级科目")
            r("三级科目") = dr("三级科目")
            r("四级科目") = dr("四级科目")
            r("五级科目") = dr("五级科目")
        End If

end with

什么意思?乱用?不是用在datacolchanged还能用在哪里?请明示


--  作者:有点蓝
--  发布时间:2019/9/11 9:31:00
--  
datacolchanged事件应该这样用

Select Case e.DataCol.Name 
    
Case "
预算编号" 
    Dim dr As DataRow
        dr = DataTables("基础预算表").Find("[预算编号] = \'" & e.datarow("预算编号") & "\'")
        If dr IsNot Nothing Then
            e.datarow("预算项目名称") = dr("项目名称")
            e.datarow("预算金额") = dr("预算金额")
            e.datarow("一级科目") = dr("一级科目")
            e.datarow("二级科目") = dr("二级科目")
            e.datarow("三级科目") = dr("三级科目")
            e.datarow("四级科目") = dr("四级科目")
            e.datarow("五级科目") = dr("五级科目")
        End If
End
 
Select