Foxtable(狐表)用户栏目专家坐堂 → 多表融合


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

主题:多表融合

帅哥哟,离线,有人找我吗?
刘效功天津
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:82 积分:573 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2023/9/22 8:32:00 [只看该作者]

Select Case e.DataCol.Name
    Case "型材名称", "型材代号", "型材密度", "型材长度", "型材数量", "型材总长度", "型材总重量"
    
        If e.DataRow.IsNull("型材名称") = False AndAlso e.DataRow.IsNull("型材代号") = False Then
          
            Dim dr As DataRow = DataTables("表C").Find("材料名称='" & e.DataRow("型材名称") & "'and 材料代号='" & e.DataRow("型材代号") & "'")
            
            If dr Is Nothing Then ----------------------------把这行代码去掉
                dr = DataTables("表C").AddNew
            End If  --------------------------------------------把这行代码去掉
            '设置自动填充的数据列代码
          
            dr("材料名称") = e.DataRow("型材名称") '必须判断语句相适应配套       
            dr("材料代号") = e.DataRow("型材代号")
            dr("密度") = e.DataRow("型材密度") 
            dr("长度") = e.DataRow("型材长度")
            dr("数量") = e.DataRow("型材数量")
            dr("总长度") = e.DataRow("型材总长度")
            dr("总重量") = e.DataRow("型材总重量") 
        End If 
End Select 
我调试过代码  去掉上面俩行代码,就能全部显示,但是在表A中修改数据时,表C中就会增加新行,不符合要求,按您给些的代码,就是把相同型材名称的行合并了,显示不全

 回到顶部
帅哥哟,离线,有人找我吗?
刘效功天津
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:82 积分:573 威望:0 精华:0 注册:2023/9/19 11:27:00
  发帖心情 Post By:2023/9/22 8:37:00 [只看该作者]

谢谢老师,我看看能不能调试出来,谢谢老师,另外请教老师关于数值型列的判断条件怎么设置,
如Dim dr As DataRow = DataTables("表C").Find("材料名称='" & e.DataRow("型材名称") & "'and 材料代号='" & e.DataRow("型材代号") & "'")
这是字符型列的判断,对于数值型列的判断代码怎么设置,请老师赐教,谢谢老师

 回到顶部
帅哥,在线噢!
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107803 积分:548366 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/22 8:45:00 [只看该作者]

请仔细看帮助

表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。

例如:

Tables("订单").Filter = "[产品] = 'PD01'"  '字符用单引号括起来
Tables("订单").Filter = "[日期] = #3/17/1999#"  '日期用#括起来
Tables("订单").Filter = "[折扣] = 0.1"  '数值直接使用.



Dim dr As DataRow = DataTables("表C").Find("材料名称='" & e.DataRow("型材名称") & "' and 材料代号='" & e.DataRow("型材代号") & "' and  长度=" & e.DataRow("型材长度号") & " and 数量=" & e.DataRow("型材数量"))


 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107803 积分:548366 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/22 8:47:00 [只看该作者]

这2行代码是不能去掉的,原因看帮助:http://www.foxtable.com/webhelp/topics/0396.htm

 回到顶部
总数 14 上一页 1 2