以文本方式查看主题

-  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=35638)

--  作者:sddcyj
--  发布时间:2013/6/29 9:31:00
--  [求助] 表达式的问题

Dim dr As Row = e.Row
Dim dr1 As DataRow
Dim i As Integer=6
If e.Col.Name = "主机_有线MAC" Then
    If  e.Text.Length = 12 Then
        For Each dc As DataCol In DataTables("交换机").DataCols
           dr1 = DataTables("交换机").Find(" dc Like \'%" & e.Row("主机_有线MAC") & " \'")
            If dr1 IsNot Nothing Then
               Dim ColNames As String() = {"交换机_主机名","交换机_IP地址"}

                For Each ColName As String In ColNames
                    dr(ColName) = dr1(ColName)
                Next
            End If
          Next
    Else
        MessageBox.show("请输入12位MAC地址")
    End If
End If

请教这一段代码 在find后面的表达式应该如何写?我是从另张表(交换机)里查找想要的内容。

[此贴子已经被作者于2013-6-29 9:31:48编辑过]

--  作者:Bin
--  发布时间:2013/6/29 9:34:00
--  


如果是内部数据源 应该是用 dr1 = DataTables("交换机").Find(" dc Like \'*" & e.Row("主机_有线MAC") & "\'")
[此贴子已经被作者于2013-6-29 9:33:46编辑过]

--  作者:sddcyj
--  发布时间:2013/6/29 9:37:00
--  

dc 是前一条定义的列的集合 不是字符串  用你的这个提示找不到dc例


--  作者:Bin
--  发布时间:2013/6/29 9:42:00
--  
这里必须是列名啊.

如果是内部数据源 应该是用 dr1 = DataTables("交换机").Find(dc.Name & " Like \'*" & e.Row("主机_有线MAC") & "\'")
[此贴子已经被作者于2013-6-29 9:42:55编辑过]