组合框行来源数据快速输入(一)
致敬每一位奋斗者
手机边亲爱的大家,好久不见!
今天还是五一假期,大家都去哪里玩耍了?今天给大家分享一下组合框示例。
平时我们在使用组合框时,当选择的数据没有我们需要的,那我们该怎么去添加数据源的呢?
组合框的数据行来源类型有“表/查询”,“值列表”,“字段列表”我们只讲前两个类型,今天我们先来讲一下“表/查询”类型的方法。
01、建表
第一步,我们先添加一张表,这张表我们做为组合框的数据源。
02、新建窗体
这里我们需要添加两个窗体,一个是放组合框的窗体,一个是用于添加数据的窗体。
首先,第一个窗体,我们只需要放一个组合框与一个按钮。
第二个窗体,是用于添加的客户信息窗体
03、添加代码
第一个窗体的按钮的单击事件。
Private Sub cmdAdd_Click()
selectcomb = Nz(Me.客户, "")
DoCmd.OpenForm "frm客户_edit", , , , , acDialog, "客户新增"
Me.客户.Requery
Me.客户 = selectcomb
End Sub
其中有一个全局变量名:selectcomb,这个需要定义在通用模块中。这个变量主要是用于在添加新数据后,组合框能默认显示新添加的数据。
第二个编辑窗体的代码
Private Sub Form_Load()
On Error Resume Next
If Me.OpenArgs = "客户新增" Then
Me.客户名称 = selectcomb
Exit Sub
End If
End Sub
Private Sub btnSave_Click()
Dim strWhere As String
Dim strSQL As String
Dim cnn As Object 'ADODB.Connection
Dim rst As Object 'ADODB.Recordset
If IsNull(Me.客户名称) Then
MsgBox "请输入客户名称", vbCritical, "提示"
Me.客户名称.SetFocus
Exit Sub
End If
Set cnn = CurrentProject.Connection
strSQL = "SELECT * FROM [tbl客户表] WHERE [客户编号]=" & Nz(Me![客户编号], 0)
Set rst = New ADODB.Recordset
rst.Open strSQL, cnn, adOpenKeyset, adLockOptimistic
If rst.EOF Then
rst.AddNew
End If
rst![客户名称] = Me![客户名称]
rst![电话] = Me![电话]
rst![地址] = Me![地址]
rst.Update
rst.Close
MsgBox "保存成功!", vbInformation
If Me.OpenArgs = "客户新增" Then
selectcomb = Me.客户名称
End If
DoCmd.Close acForm, Me.Name, acSaveNo
Set rst = Nothing
Set cnn = Nothing
End Sub
Private Sub btnCancel_Click()
On Error Resume Next
DoCmd.Close acForm, Me.Name, acSaveNo
End Sub
03、运行
最后就是运行测试了。
好的,大家快去测试一下吧。
从事access开发多年,喜欢access做一些小东西,分享一些小经验
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义