以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]模拟关联  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118574)

--  作者:江南小镇
--  发布时间:2018/5/6 11:11:00
--  [求助]模拟关联
老师好,窗口的第三个表(BIOS子菜单明细)不联动。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模拟关联表.table


--  作者:有点甜
--  发布时间:2018/5/6 11:24:00
--  

currentChanged事件

 

If Forms("BIOS").Opened() \'一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("BIOS_Table3")
    With e.Table
        If .Current Is Nothing Then
            t.Filter = "False"
        Else
            t.Filter = "子菜单编号 = " & .Current("子菜单编号")
        End If
    End With
End If


--  作者:江南小镇
--  发布时间:2018/5/6 11:37:00
--  
谢谢老师
--  作者:江南小镇
--  发布时间:2018/5/10 17:35:00
--  

老师,窗口的第二个关联表增加行出错。 


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模拟关联.table


--  作者:有点甜
--  发布时间:2018/5/10 19:09:00
--  

我测试没问题,请说明测试步骤。

 

我点击第二行、第三行,第三个表没有显示数据。

 

如果是第三个表新增数据的问题,datarowadding事件这样写代码

 

If CurrentTable.Name = "BIOS_Table3" Then \'如果当前表是模拟的关联表
    Dim r As Row = Tables("BIOS_Table1").Current
    If r IsNot Nothing Then
        e.DataRow("子菜单编号") = r("子菜单编号")
    End If
End If


--  作者:江南小镇
--  发布时间:2018/5/10 20:30:00
--  
谢谢老师,问题解决了。
--  作者:江南小镇
--  发布时间:2018/5/10 21:52:00
--  
老师好,

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

--  作者:有点甜
--  发布时间:2018/5/10 22:02:00
--  

参考代码,自己改写

 

Dim str As String = "Abc Hcde Whsc"
Dim ary = str.split(" ")
Dim nstr As String = ""
For Each s As String In ary
    nstr &= left(s,  1)
Next
msgbox(nstr)


--  作者:江南小镇
--  发布时间:2018/5/10 22:43:00
--  
老师好,改不来,都谢老师了,帮忙。
--  作者:有点甜
--  发布时间:2018/5/10 23:07:00
--  

datarowadding


If CurrentTable.Name = "BIOS_Table3" Then \'如果当前表是模拟的关联表
    Dim r As Row = Tables("BIOS_Table1").Current    
    If r IsNot Nothing Then        
        Dim str As String = r("主菜单")
        Dim ary = str.split(" ")
        Dim nstr As String = ""
        For Each s As String In ary
            nstr &= left(s,  1)
        Next
        e.DataRow("类型") = nstr
    End If
End If