以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]求老师简单做一下注释  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=104104)

--  作者:轩辕绝
--  发布时间:2017/7/23 17:12:00
--  [求助]求老师简单做一下注释

---------------------------我的提问----------------------

[求助]数据表关联问题  发帖心情 Post By:2017/7/23 15:47:00 [只看该作者]

老师,你好,

 

求助表关联的问题。

 

父表“安全员”表中为安全员明细表,有:员工编号、姓名……字段,

子表“勤务信息表”为航班信息表,即安排安全员飞航班的排班表,含有:日期、航班号、安全员姓名……字段,其中部分航班会派遣多名安全员执行航班,比如赵钱、孙李同时执行航班,该单元格内容就为“赵钱/孙李”,用“/”隔开。

 

已经设置关联,不能正常显示出多人执行航班的信息。

 

请问如何解决单元格有分隔符的标间关联问题?

 

 

------------------------老师您的回答----------------------------

 

放一个窗口,放一个table控件,显示内容。

 

 currentChanged事件写代码:

 

Dim nr As Row = e.Table.current
If nr IsNot Nothing Then
    Dim filter As String = "1=2"
    For Each s As String In nr("安全员").split("/")
        filter &= " or 姓名 = \'" & s & "\'"
    Next
    forms("窗口1").controls("table1").Table.filter = filter
End If

 

 

 

请老师对代码做个简单的注释,方便学生学习,谢谢老师。


--  作者:有点甜
--  发布时间:2017/7/23 17:31:00
--  
Dim nr As Row = e.Table.current \'取得当前行
If nr IsNot Nothing Then             \'如果表格有数据
    Dim filter As String = "1=2"    \'定义变量
    For Each s As String In nr("安全员").split("/")  \'根据/把字符串分割成多个字符
        filter &= " or 姓名 = \'" & s & "\'"                 \'合成条件,如 1=2 or 姓名 = \'张三\' or 姓名 = \'李四\'
    Next
    forms("窗口1").controls("table1").Table.filter = filter \'设置筛选
End If