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

发布时间:2023-05-06 09:52:20

  大家好,亲爱的手机,你还好吗?大家新开心!

  今天,我将与大家分享评论。这一次,我们将慢慢增加难度。在此之前,树上显示的数据已经提前输入,这显然是不合理的。接下来,我们将为树做一个新的节点功能。好吧,别胡说八道。我们直接去干货。

  01、建窗体

  这一次,我们不需要新建的手表,或者使用以前的手表。如果您只是关注我的用户,请单击此地址:

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

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

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

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

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

  文件框名称为:ProductName

  保存按钮的名称:btnSave

  取消按钮名称:btnClose

  02、添加代码

  首先,我们首先添加打开新窗户的代码Private Sub btnAdd_Click() DoCmd.OpenForm "frmAdd", acNormalEnd Sub

  下一步是在新窗口上添加代码,一个是保存按钮的代码,另一个是取消按钮的代码。代码并不复杂,即在正常添加时自动生成相应的编号。我们在视频中解释了代码的含义。 Privatete取消按钮 Sub btnClose_Click() DoCmd.Close acForm, Me.NameEnd SubPrivatete保存按钮 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 = 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 = NothingEnd Sub

  最后一步,非常关键的操作是加载树控件事件的Private 改为Public,如果不修改,刷新会报错。

  03、运行测试

  最后,是操作测试。

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

 

上一篇 Access的BOM开发(3)BOM展开
下一篇 Java泛型详解

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题