以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请老师看一眼下面代码有什么问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98736)

--  作者:chh2321
--  发布时间:2017/4/6 9:56:00
--  请老师看一眼下面代码有什么问题?
老师,

下面代码中,表A是父表,表B、C、D是子表,我在表A的CurrentChanged事件中写了如下代码,结果父子表同步失败,是哪里有问题?

For Each s As String In "表A,表B,表C,表D".split(",")
    If e.Table.Current IsNot Nothing Then
        DataTables(s).LoadFilter =  "编号 = " & e.Table.Current("编号")
    Else
        DataTables(s).LoadFilter =  "[_Identify] is null"
    End If
    DataTables(s).Load()
Next

--  作者:chh2321
--  发布时间:2017/4/6 10:16:00
--  
抱歉,老师,是我搞错了。

表A也是子表,问题出在编号列是字符型

     DataTables(s).LoadFilter =  "编号 = " & e.Table.Current("编号")
改成
     DataTables(s).LoadFilter =  "编号 = ‘’" & e.Table.Current("编号") & “‘’”

就可以了

--  作者:有点色
--  发布时间:2017/4/6 10:17:00
--  

 代码改一下

 

For Each s As String In "表B,表C,表D".split(",")
    If e.Table.Current IsNot Nothing Then
        DataTables(s).LoadFilter =  "编号 = \'" & e.Table.Current("编号") & "\'"
    Else
        DataTables(s).LoadFilter =  "[_Identify] is null"
    End If
    DataTables(s).Load()
Next