以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]sqltabler的关联子表增加行问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176705)
|
-- 作者:Cloud
-- 发布时间:2022/4/23 17:16:00
-- [求助]sqltabler的关联子表增加行问题
大师:我这个是sqltable的关联表,用组色ID做关联,上表有三行数据,当鼠标点击第一行在下面增加行的时候不会有问题,但当鼠标点击第二行在下面增加行的时候,下面增加行的组色ID应该是上表第二行的组色ID,但增加出来的行却是上表第一行的组色ID,下面附图及关联代码: 此主题相关图片如下:捕获.png
Dim d As Row = Tables("销售订单_颜色尺码").Current If d IsNot Nothing Then Tables("销售订单_面辅信息").Filter = "订单款号 = \'" & d("订单款号") & "\'and 组色ID = \'" & d("组色ID") & "\'" End If If e.Table.Current IsNot Nothing Then Dim Filter As String = "订单款号 = \'" & e.Table.Current("订单款号") & "\'" If DataTables("销售订单_面辅信息").Find(Filter) Is Nothing Then \'如果对应的订单明细没有加载过 DataTables("销售订单_面辅信息").AppendLoad(Filter) \'则追载此订单的订单明细 End If End If
请大师指点
谢谢
|
-- 作者:有点蓝
-- 发布时间:2022/4/23 17:23:00
--
怎么做的关联?上表是窗口的sqltable?
|
-- 作者:Cloud
-- 发布时间:2022/4/23 17:30:00
--
窗口中的上下表都是SQLtablege 此主题相关图片如下:123.png
|
-- 作者:有点蓝
-- 发布时间:2022/4/23 17:38:00
--
|
-- 作者:Cloud
-- 发布时间:2022/4/24 12:48:00
--
Dim d As Row = Tables("销售订单_颜色尺码").Current If d IsNot Nothing Then Tables("销售订单_面辅信息").Filter = "订单款号 = \'" & d("订单款号") & "\'and 组色ID = \'" & d("组色ID") & "\'" End If If e.Table.Current IsNot Nothing Then Dim Filter As String = "订单款号 = \'" & e.Table.Current("订单款号") & "\'" If DataTables("销售订单_面辅信息").Find(Filter) Is Nothing Then \'如果对应的订单明细没有加载过 DataTables("销售订单_面辅信息").AppendLoad(Filter) \'则追载此订单的订单明细 End If End If
|
-- 作者:有点蓝
-- 发布时间:2022/4/24 13:32:00
--
怎么增加行的?怎么给组色ID赋值的?
|
-- 作者:Cloud
-- 发布时间:2022/4/24 15:37:00
--
用系统增加行代码增加行:
Tables("销售订单_面辅信息").AddNew()
用下面的代码在子表事件的DataColChanged给组色ID赋值:
If e.DataCol.Name = "订单款号" Then If e.NewValue Is Nothing Then e.DataRow("组色ID") = Nothing Else Dim drx As DataRow drx = DataTables("销售订单_颜色尺码").Find("[订单款号] = \'" & e.NewValue & "\'") If drx IsNot Nothing e.DataRow("组色ID") = drx("组色ID") End If End If End If
|
-- 作者:有点蓝
-- 发布时间:2022/4/24 15:45:00
--
"销售订单_颜色尺码"一个[订单款号] 会对应多个"组色ID"的吧,上面代码只是把找到的第一个赋值给"销售订单_面辅信息"
如果取父表选中行的"组色ID",datacolchanged事件没有任何用处,只有副作用
直接在新增按钮处理即可 dim r as row = Tables("销售订单_面辅信息").AddNew() r("组色ID") = Tables("销售订单_颜色尺码").current("组色ID")
|
-- 作者:Cloud
-- 发布时间:2022/4/24 16:00:00
--
谢谢
|