以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于更新后  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141222)

--  作者:ygg8310
--  发布时间:2019/9/24 16:08:00
--  关于更新后
各种卡死怎么破?跨表查询自动填充,一用就未响应?
--  作者:ygg8310
--  发布时间:2019/9/24 16:16:00
--  
For Each r As Row In Tables("表A").rows
    If DataTables("表B").Find("第一列 = \'" & r("第一列") & "\' And 第二列 = \'" & r("第二列") & "\' And 第三列 = \'" & r("第三列") & "\' And 日期 < \'" & r("日期") & "\'") Is Nothing Then
        r("查找反馈") = "有"
    Else
        r("查找反馈") = "没有"
    End If
Next
就这个代码了

--  作者:有点蓝
--  发布时间:2019/9/24 16:30:00
--  
有多少行数据?

表格datacolchanged事件有什么代码?有没有表达式列?

--  作者:ygg8310
--  发布时间:2019/9/24 16:38:00
--  
表B有2W多行,表A有7000多行
表格datacolchanged
If e.DataCol.Name <> "标记A" Then
    If e.DataCol.Name <> "标记B" Then
        If e.DataCol.Name <> "标记C" Then
            If e.DataCol.Name <> "标记D" Then
                If e.DataCol.Name <> "标记E" Then
                    If e.DataCol.Name <> "标记F" Then
                        e.DataRow("编辑时间") = Today
                        e.DataRow("编辑人") = User.Name
                    End If
                End If
            End If
        End If
    End If
End If

--  作者:有点蓝
--  发布时间:2019/9/24 17:18:00
--  
这么多数据遍历+查询,肯定要一定的时间的,这个没有办法。不然就在窗口加个进度条显示吧。

或者试试使用sql更新

update 表A set 查找反馈=\'有\' from 表A where exist (select 第一列 from 表B where 表A.第一列 = 表B.第一列 and 表A.第二列 = 表B.第二列 and 表A.第三列 = 表B.第三列 and 表A.日期 > 表B.日期)