以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 逻辑控件录入方式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56631)

--  作者:wumingrong1
--  发布时间:2014/9/10 10:07:00
--  [求助] 逻辑控件录入方式
我有一个控件,公司如下。其中 “直连”控件为逻辑控件;当我录入数据是提示出错。我该怎么改这个公式?

For i As Integer = 1 To 6
    If e.Form.Controls("机房名称" & i).Text > "" Then
        Dim ndr As DataRow = DataTables("机房设备端口应用表").AddNew
ndr("业务类别") = "业务"
        ndr("业务名称") = e.Form.Controls("业务名称").Text
        ndr("业务序号") = e.Form.Controls("业务序号" & i).Text
        ndr("机房名称") = e.Form.Controls("机房名称" & i).Text
        ndr("设备名称型号") = e.Form.Controls("设备名称型号" & i).Text
        ndr("设备槽位端口") = e.Form.Controls("设备槽位端口" & i).Text
ndr("直连标记") = e.Form.Controls("直连" & i).Text
\'ndr("板盘类型") = e.Form.Controls("板盘类型" & i).Text
ndr("机柜编号") = e.Form.Controls("机柜编号" & i).Text
ndr("板盘端子名称") = e.Form.Controls("板盘端子名称" & i).Text
   
End If
Next


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




--  作者:有点甜
--  发布时间:2014/9/10 10:10:00
--  
ndr("直连标记") = e.Form.Controls("直连" & i).Checked
--  作者:wumingrong1
--  发布时间:2014/9/10 10:22:00
--  
清除控件内容时,逻辑控件“直连”该怎么改?
For i As Integer = 1 To 6
e.Form.Controls("业务序号" & i).Value = Nothing 
e.Form.Controls("机房名称" & i).Value = Nothing 
e.Form.Controls("设备名称型号" & i).Value = Nothing 
e.Form.Controls("设备槽位端口" & i).Value = Nothing 
\'e.Form.Controls("直连" & i).Value = Nothing 
e.Form.Controls("板盘类型" & i).Value = Nothing 
e.Form.Controls("机柜编号" & i).Value = Nothing 
e.Form.Controls("板盘端子名称" & i).Value = Nothing 

Next

--  作者:Bin
--  发布时间:2014/9/10 10:24:00
--  
e.Form.Controls("直连" & i).Value = False
--  作者:有点甜
--  发布时间:2014/9/10 10:25:00
--  
e.Form.Controls("直连" & i).Checked = False
--  作者:wumingrong1
--  发布时间:2014/9/10 11:19:00
--  
有一个多情况下关联表筛选公式;帮忙修改红色部分公式。

If Forms("电路查询(设备端口应用)关联窗口").Opened() \'一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("电路查询(设备端口应用)关联窗口_Table1")
    With Tables("机房设备端口应用表")
        If .Current Is Nothing Then
            t.Filter = "False"
        Else
            t.Filter = "机房名称 = \'" & .Current("机房名称") & "\' and 设备名称型号 = \'" & .Current("设备名称型号") & "\' and  机柜编号 is not null"

要实现: ‘机房名称’ 和 ‘设备名称型号’ 相同 并且 ‘机柜编号‘ 不为空  或者  ‘机房名称’ 和 ‘设备名称型号’ 相同 并且 ‘直连标记‘ 不为空

t.Sort = "设备槽位端口"
        End If
    End With
    
End If

最终达到下图效果:其中’直连标记‘为逻辑控件


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

[此贴子已经被作者于2014-9-10 11:20:05编辑过]

--  作者:有点甜
--  发布时间:2014/9/10 11:23:00
--  
t.Filter = "机房名称 = \'" & .Current("机房名称") & "\' and 设备名称型号 = \'" & .Current("设备名称型号") & "\' and  机柜编号 is not null or 机房名称 = \'" & .Current("机房名称") & "\' and 设备名称型号 = \'" & .Current("设备名称型号") & "\' and  直连标记 is not null"

--  作者:wumingrong1
--  发布时间:2014/9/10 11:30:00
--  
好像不行;其中  直连标记 为逻辑控件  ;如下图’直连标记‘和’机柜编号‘都为空的时候、还是会被筛选出来
t.Filter = "机房名称 = \'" & .Current("机房名称") & "\' and 设备名称型号 = \'" & .Current("设备名称型号") & "\' and  机柜编号 is not null or 机房名称 = \'" & .Current("机房名称") & "\' and 设备名称型号 = \'" & .Current("设备名称型号") & "\' and  直连标记 is not null"


此主题相关图片如下:360截图20140910113023000.jpg
按此在新窗口浏览图片



--  作者:有点甜
--  发布时间:2014/9/10 11:45:00
--  
直连标记 is not null 改成 直连标记 = True