Office中国论坛/Access中国论坛

标题: 如何按树选中的节点批量更新表中字段 [打印本页]

作者: 付谦    时间: 2020-8-24 08:31
标题: 如何按树选中的节点批量更新表中字段
本帖最后由 付谦 于 2020-8-24 08:38 编辑

如题,先在树复选框打勾,选中需要的节点后,按上命令按钮,一次性的更新对应的表中的“查询标识“字段,我写的代码提示不支持此属性与方法,不知道如何改写,网上又查不到,希望高手帮助![attach]63881[/attach]说明:不是选中一个更新一个,而是选完后批量更新


作者: 付谦    时间: 2020-8-27 07:14
急!
作者: 付谦    时间: 2020-8-28 15:07
每日看数次,不见有回复,难道此无解,无赖静待中
作者: 付谦    时间: 2020-8-29 20:01
经过折腾数日,查看了不少资料,终于落地.现发出供需者参考:
Private Sub AllChildSynchro(ByVal NodeChoose As Object)
    On Error Resume Next
    Dim lNextLoop, PP As Long
    Dim ObjChildren As Object
    PP = Val(Mid(NodeChoose.Key, 2))
   If CBool(NodeChoose.Children > 0) Then
        Set ObjChildren = NodeChoose.Child
     For lNextLoop = 1 To NodeChoose.Children
            ObjChildren.Checked = NodeChoose.Checked
           If ObjChildren.Checked = True Then
               CurrentDb.Execute "UPDATE 表一 SET 查询标识 =True WHERE 族人代码=" & Val(Mid(ObjChildren.Key, 2)) & " OR 族人代码=" & PP
           Else
               CurrentDb.Execute "UPDATE 表一 SET 查询标识 =False WHERE 族人代码=" & Val(Mid(ObjChildren.Key, 2)) & " OR 族人代码=" & PP
           End If
       If ObjChildren.Children > 0 Then Call AllChildSynchro(ObjChildren)
       Set ObjChildren = ObjChildren.Next
         Next lNextLoop
    End If
End Sub





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3