![3b860fd8d1c9667b8cb0080bbd6056be.png](https://i-blog.csdnimg.cn/blog_migrate/5efa2241f89cd83807762df423747c52.jpeg)
大家好,我们今天继续讲解VBA数据库解决方案,今日讲解的是第81讲:工作表数据与UserForm窗口的交互中:如何实现数据的录入。这一讲讲解如何实现数据的录入功能。有了这讲的内容就可以实现利用窗体和EXCEL表格通过ADO连接,实现数据的录入。同时实现这种情况下数据的保存.
思路:①在UserForm窗口上,设置“录入”按钮,用于指令的下达。
②在弹出UserForm窗口后,EXCEL文件要隐藏。
③要考虑到按钮之间的作用,在弹出对话框后只能显示录入和保存,退出按钮。
下面我们首先实现UserForm窗体:在上一讲的基础上我这次增加的是“录入”按钮:
![ca0a9136e161ae668518e84bf2857b7c.png](https://i-blog.csdnimg.cn/blog_migrate/3b8895ae8325333ae61762b87e4b3b6a.jpeg)
下面看我的代码:
1 从EXCEL窗口进入人机交互窗口:
Sub mynzRecords_81() '将工作表数据变成记录集,并实现利用UserForm窗口进行录入数据
Application.Visible = False
UserForm1.Show
End Sub
代码解释:上述代码完成从EXCEL界面到人机交互UserForm窗体,这时的Application.Caller是6.
从工作表文件进入窗体给予传递一个值,其实这个值也是用来识别点击的哪个矩形框,在下图中的前面我注明了该矩形框的代码,这样在后面的语句中就可以根据这个值来判断要求窗体实现什么功能。进而实现在窗体ACTIVE时只能让有用的按钮响应代码,避免操作上的失误。带来不必要的麻烦,同时,这里隐藏了EXCEL窗口,可以有效的避免EXCEL的误操作,如果配合工作表录入限制的功能,可以更加高效的发挥EXCEL的数据库作用。例如 :当你你点击第一个矩形框,传递的值是1,就是实现显示第一条记录的目的。
![b2478fd8a88d9f2fe466f6f87fa529f9.png](https://i-blog.csdnimg.cn/blog_migrate/01643ee5ef8800748c24df227b2482bf.jpeg)
2 “录入”按钮响应代码:
Private Sub CommandButton9_Click() '录入
UserForm1.TextBox1 = ""
UserForm1.TextBox2 = ""
UserForm1.TextBox3 = ""
UserForm1.TextBox1.SetFocus
UserForm1.CommandButton6.Enabled = True '保存记录
End Sub
代码解释:上述代码实现在点击后UserForm窗体上TEXTBOX内容清空,给录入预留空间,同时“保存”按钮开始响应代码。这时的Application.Caller是6.
3 “保存”按钮的响应代码
(和上讲一样,不再多说)
代码窗口:
![493d7ab35dc1456150bea5cf051ca56a.png](https://i-blog.csdnimg.cn/blog_migrate/2116c99680db5e192752b4494ca43e1c.png)
下面看代码的运行:
![2a8811836d07229306add97370fed001.png](https://i-blog.csdnimg.cn/blog_migrate/4117bf1d88e6b92a598327df64cc3b1d.png)
![f2b43175222895b13e44ee3c021c1f7a.png](https://i-blog.csdnimg.cn/blog_migrate/029c2b21d975a556683cdb75b3b2afa9.png)
录入后保存数据和编辑保存类似。
今日内容回向:
1 如何实现录入记录?思路是什么。
2 本节中是如何控制按钮响应代码的?