为黄海的“分限级分类树型控件源代码”添加通用性修改功能-123木头人
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


为黄海的“分限级分类树型控件源代码”添加通用性修改功能

发表时间:2008/3/8 16:08:37 评论(3) 浏览(8716)  评论 | 加入收藏 | 复制
   
摘 要:为黄海的“分限级分类树型控件源代码”添加通用性修改功能
正 文:

黄师父的“分限级分类树型控件源代码”是一个关于TreeView的经典例程,不过黄师父提供的例程中只有添加和删除没有修改,在用的时候常常感觉很不方便,现参照黄师父原有的代码写了一段修改代码如下,表结构和窗体不变:

'==========================================
'用法:editCARGOTYPE("F030货位管理", "T030货位管理")
'说明:"F030货位管理"为树控件所在的窗体,"T030货位管理"为树控件的数据表
'==========================================
Public Function editCARGOTYPE(FL As String, FLB As String)       'FL为TreeView所在窗体的窗体名,FLB为需要增加数据的表名

    Dim strCARGOTYPE_NO As String      '过程变量
    Dim newCargoTypeName As String     '过程变量
    Dim strSQL As String
    Dim rst As DAO.Recordset
    With Forms(FL)!TreeView0
        strCARGOTYPE_NO = Forms(FL)!TreeView0.SelectedItem.key

        If strCARGOTYPE_NO = "NO.1" Then        '判断是否是顶层
            MsgBox "不能修改顶层节点!", vbQuestion, FL
            Exit Function
        End If


        newCargoTypeName = InputBox("请输新的分类名称", FL)    '输入对话框
        Debug.Print strCARGOTYPE_NO
        If Len(newCargoTypeName) = 0 Then Exit Function     '如果输入对话框输入的长度为0就结束过程
        strCARGOTYPE_NO = right(strCARGOTYPE_NO, Len(strCARGOTYPE_NO) - 3)

        On Error Resume Next
        DoCmd.SetWarnings False
        DoCmd.RunSQL "Update " & FLB & " set CARGOTYPE_NAME='" & newCargoTypeName & "' where CARGOTYPE_NO='" & [strCARGOTYPE_NO] & "';"
        MsgBox "分类修改成功!", vbOKOnly, "提示:"
        Call Forms(FL).Form_Load              '重新加载数控件的数据,以重新将光标指向修改后的节点
                                                                        '须将Private Sub Form_Load()改成Public Sub Form_Load()
        Forms(FL)!TreeView0.Nodes("NO." & strCARGOTYPE_NO).Selected = True
        DoCmd.SetWarnings False
        If Err.Number Then Exit Function    '保证数据库更新成功

    End With

End Function


Access软件网交流QQ群(群号:198465573)
 
 相关文章
分限级分类树型控件源代码  【黄海  2004/12/1】
常见问答
技术分类
相关资源
文章搜索
关于作者

123木头人

文章分类

文章存档

友情链接