以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分别填充父表和子表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96846)

--  作者:k931931
--  发布时间:2017/2/28 22:45:00
--  分别填充父表和子表

老师,我想通过点击“入库单号”后,弹窗弹出入库单父表和子表,其中入库单父表的单号字段填充到对应的退货入库单父表“入库单号”子段中

入库单子表对应的“商品编码,商品名称,商品类别,计量单位”填充到对应的退货入库单子表对应的子段中,其中弹窗我用了splitcontainer控件,

上下分别是table1和table2两个控件,现在点击弹窗上面的确定按钮,提示找不到table1

 

代码如下,

Dim tbl As Table =Tables("table1")
If tbl.Current IsNot Nothing Then
    e.Form.DropDownBox.Value = tbl.Current("单号")
End If


Dim t As Table = Tables("入库单子表")
For Each r As Row In Tables("table2").GetCheckedRows
    Dim nr As Row = t.AddNew
    nr("商品编码") = r("商品编码")
    nr("商品名称") = r("商品名称")
    nr("商品分类") = r("商品分类")
    nr("计量单位") = r("计量单位")
Next
Forms("入库单父子表弹窗").close()


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/2/28 22:48:10编辑过]

--  作者:有点蓝
--  发布时间:2017/2/28 22:56:00
--  
Dim tbl As Table =Tables("窗口名称_table1")


--  作者:k931931
--  发布时间:2017/3/1 9:04:00
--  
老师你好,如果把副本设置为ture的时候,在点击入库单父表table1的某行数据时,入库单子表table2不能对应的关联切换
需要在currentchanged执行一段什么样的过滤代码呢?

--  作者:有点蓝
--  发布时间:2017/3/1 9:15:00
--  

参考:http://www.foxtable.com/webhelp/scr/2222.htm

 


--  作者:k931931
--  发布时间:2017/3/1 13:36:00
--  
老师你好,我在table1的currentchanged事件中增加了以下代码
但是依然实现不了我想要的父表与子表同步的功能,请老师指点,谢谢。

Dim t As Table = Tables("入库单父子表弹窗_Table1")
With Tables("入库单父表.入库单子表")
If .Current Is Nothing Then
    t.Filter = "False"
Else
    t.Filter = "单号 = " & .Current("单号")
End If
End With

[此贴子已经被作者于2017/3/1 13:36:19编辑过]

--  作者:有点色
--  发布时间:2017/3/1 15:30:00
--  

Dim t As Table = e.Form.Controls("Table1").Table
With e.Table
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.Filter = "单号 = \'" & .Current("单号") & "\'"
    End If
End With


--  作者:k931931
--  发布时间:2017/3/1 16:05:00
--  
老师你好,你给我的代码我测试了,不能在父表中选择,而且只出来了一行,能实现
下面的效果吗?父表上下随意选择,子表根据父表的信息,也相应的变化(根据关联表而来)
副表为ture,用到了单向关联表,还用到了splitcontainer分区面板控件


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


测试效果图

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

[此贴子已经被作者于2017/3/1 16:07:42编辑过]

--  作者:有点色
--  发布时间:2017/3/1 17:11:00
--  

你表名改成对应的

 

Dim t As Table = e.Form.Controls("Table2").Table
With e.Table
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.Filter = "单号 = \'" & .Current("单号") & "\'"
    End If
End With


--  作者:k931931
--  发布时间:2017/3/1 17:23:00
--  
老师你好,父表光标处在那一行,窗口中对应的子表才有数据,但是在窗口中上下移动光标选择,并不能改变对应的子表数据
如下图所示:

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

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


--  作者:有点色
--  发布时间:2017/3/1 18:19:00
--  

代码你写到CurrentChanged事件了吗?加入代码,看弹出什么

 

msgbox(t.Filter)