Foxtable(狐表)用户栏目专家坐堂 → 请教老师:代码关联表能在table窗体中跨表引用数据吗


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

主题:请教老师:代码关联表能在table窗体中跨表引用数据吗

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
请教老师:代码关联表能在table窗体中跨表引用数据吗  发帖心情 Post By:2018/1/23 23:06:00 [只看该作者]

为了实时数据更新在局域网各用户中,使用SQLtable作为窗口类型,因此无法在关联菜单中建立关联表,进行子父表跨表引用,
如果使用代码关联表是否可以实现SQLtable的数据引用,如
有订单表:订单编号,商品ID,客户,数量
商品表:商品ID,名称,规格,
增加临时关联
Relations.Add("订单商品关联",DataTables("订单窗体_订单表").DataCols("商品ID"),DataTables("订单窗体_商品表").DataCols("商品ID"))

需要实现窗体table 显示订单编号,商品ID,名称,规格,客户,数量并可编辑

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2018/1/23 23:08:00 [只看该作者]

现在使用代码,数据量一大就卡
Select Case e.DataCol.Name        
    Case "商品ID"
        Dim nms1() As String = {"规格","名称"}
        If e.NewValue Is Nothing Then
            For Each nm1 As String In nms1
                e.DataRow(nm1) = Nothing
            Next
        Else
            Dim dr1 As DataRow
            dr1 = DataTables("订单窗体_商品表").Find("[商品ID] = '" & e.NewValue & "'")
            If dr1 IsNot Nothing
                For Each nm1 As String In nms1
                    e.DataRow(nm1) = dr1(nm1)
                Next
            End If
        End If     
       
End Select


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/23 23:20:00 [只看该作者]

卡和这些代码没有关系。

数据量大到什么程度?如果数据太多做什么都卡的。实在大应该考虑分页显示数据

其次取其它表数据不需要做关联也可以取的

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2018/1/23 23:34:00 [只看该作者]

订单表需要可编辑,新增或删除,除了上面的代码外,还有什么方法实现

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/24 9:08:00 [只看该作者]

以下是引用wakai在2018/1/23 23:34:00的发言:
订单表需要可编辑,新增或删除,除了上面的代码外,还有什么方法实现

 

没看懂你上面代码和你需要的这些有什么联系。本来sqlTable就是可以直接编辑修改保存的。

 

慢的话,做个实例发上来测试。


 回到顶部