以文本方式查看主题

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

--  作者:szp2012
--  发布时间:2012/12/26 14:31:00
--  求代码解释
 

项目事件

 

MainTableChanged

 

If MainTable.Name ="员工"  Then

    Forms("模糊查询").Open

End If

 

计划管理

 

表事件

 

员工_DataColChanged

 

Select Case  e.DataCol.Name

    Case "姓名","部门","职务"

        Dim n1 As Integer       

        Dim Lms,py,jps As  String

        Dim jps1 As New List(Of String)

       

        Lms ="姓名|部门|职务"       

        For Each py  In Lms.split("|")

            If  py =e.DataCol.Name Then

                Exit For

            End If

            n1+=1

        Next

        If e.DataRow.Isnull(e.DataCol.Name) Then

            py  ="@|#|$".split("|")(n1)

        Else

            py = GetPY(e.DataRow(e.DataCol.Name),True)

        End If

       

        jps1.AddRange(e.DataRow("简拼").split("|"))

        jps1.Insert(n1,py)

        jps1.RemoveAt(n1+1)

       

        For Each py  In jps1

            jps+=py & "|"

        Next

        e.DataRow("简拼") = jps.trim("|")      

End Select

 

员工_DataRowAdding

 

e.DataRow("简拼") = "@|#|$"

 

窗口表事件

 

窗口与控件事件

 

模糊查询_TextBox1_TextChanged

 

Dim py As String=e.Form.Controls("TextBox1").text

Tables("员工").Filter ="简拼 like \'%" & py & "%\'"

 

 

 

以上代码为 DON 大大 简拼模糊查询代码 现有几处不解求指教

1.我复制到我的表中。无法筛选,是否查询字段必须相连,不能间隔。

2.

e.DataRow("简拼") = "@|#|$" 何意,欲查询字段数与 符号"@|#|$"有何关联,如果四字段怎办

3. n1+=1, jps+=py & "|"  何意,狐表中有这种语法吗?

 

 

 

 

 

 

 


--  作者:lin_hailun
--  发布时间:2012/12/26 14:48:00
--  
 查找字段可以间隔,具体是替换对应的字段就行了。

 @#$没有什么特殊含义,只是一个初始值。利于后面操作。

 += 等同于 n1 = n1 + 1
 jps += py & "|" 等同于 jps = jps + py & "|"

--  作者:szp2012
--  发布时间:2012/12/26 16:46:00
--  
xiexie
--  作者:zerov
--  发布时间:2012/12/26 21:29:00
--  

同谢,我又懂了点