设为首页收藏本站Access中国
Office中国(www.office-cn.net),专业Office论坛

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 201|回复: 3

[ActiveX] 如何按树选中的节点批量更新表中字段

[复制链接]
发表于 2020-8-24 08:31:38 | 显示全部楼层 |阅读模式
本帖最后由 付谦 于 2020-8-24 08:38 编辑

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2020-8-27 07:14:42 | 显示全部楼层
急!
回复

使用道具 举报

 楼主| 发表于 2020-8-28 15:07:11 | 显示全部楼层
每日看数次,不见有回复,难道此无解,无赖静待中
 楼主| 发表于 2020-8-29 20:01:51 | 显示全部楼层
经过折腾数日,查看了不少资料,终于落地.现发出供需者参考:
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /5 下一条

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2020-10-20 22:37 , Processed in 0.078313 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表