【VBA树控件学习三】新增树TreeView节点

哈喽,手机边亲爱的你还好吗?大家新快乐!

今天,我接着给大家分享一下treeview。这次我们要慢慢的加大难度了,之前树上显示的数据都是提前录入好的,显然是不够合理,那接下去我们就要给树做个新增节点的功能,好的,废话不多说,我们直接上干货。

01、建窗体

这次我们就不需要新建的表的,还是沿用之前的那张表,如果你是刚关注我的用户,点击这个地址就行了:

这次,我们需要在原来的窗体上添加一个新增按钮,用于打开新增窗体,如下图,按钮的名称为:btnAdd

接下去我们需要添加一个新的窗体,窗体名称保存为:frmAdd。在新增窗体上添加几个控件,一个组合框,一个文本框,两个按钮,如下图

组合框的名称:ProductParentID,行来源为:SELECT tblProduct.ProductID, tblProduct.ProductName FROM tblProduct; 

文件框名称为:ProductName

保存按钮的名称:btnSave

取消按钮的名称:btnClose

02、添加代码

首先,我们先添加打开新增窗体的代码

Private Sub btnAdd_Click()
    DoCmd.OpenForm "frmAdd", acNormal
End Sub

接下去就是新增窗体上的代码,一个是保存按钮的代码,一个是取消按钮的代码,代码不复杂,就是在正常的新增时,自动生成相应的编号,代码什么意思,具体的我们在视频中讲解。

'取消按钮
Private Sub btnClose_Click()
    DoCmd.Close acForm, Me.Name
End Sub
'保存按钮
Private Sub btnSave_Click()
    '判断不能为空
    If IsNull(Me.ProductName) Then
        MsgBox "产品名称不能为空。", vbExclamation
        Me.ProductName.SetFocus
        Exit Sub
    End If
    Dim rst As Object ' DAO.Recordset
    Dim strProductID As String
    Dim strWhere As String
    '判断上级键值是否为空
    If Not IsNull(Me.ProductParentID) Then
        strWhere = "ProductParentID='" & Me.ProductParentID & "'"
    Else
        strWhere = "ProductParentID is null"
    End If
    '取到上级键值的最大值
    strProductID = Nz(DMax("ProductID", "tblProduct", strWhere), "")
    '生成编号
    strProductID = Me!ProductParentID & Format(Val(Right(strProductID, 4)) + 1, "0000")

    '  Debug.Print strProductID

    Set rst = CurrentDb.OpenRecordset("tblProduct", 2) '打开记录集

    rst.AddNew
    rst!ProductParentID = Me!ProductParentID
    rst!ProductName = Me!ProductName
    rst!ProductID = strProductID
    rst.Update
    MsgBox "保存成功。", vbInformation
    Form_frmTreeView.Form_Load '树重新加载一下

    Me.ProductName = Null
    Me.ProductParentID = Null
    Me.ProductParentID.RowSource = Me.ProductParentID.RowSource '刷新
    rst.Close
    Set rst = Nothing

End Sub

最后还一步,非常关键的操作,就是把树控件加载事件的Private 改成Public,如果未修改,则刷新会报错。

03、运行测试

最后,就是运行测试了。

 

END

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易登软件Access开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值