致敬每一位奋斗者
手机边亲爱的大家,好久不见!
今天还是五一假期,大家都去哪里玩耍了?今天给大家分享一下组合框示例。
平时我们在使用组合框时,当选择的数据没有我们需要的,那我们该怎么去添加数据源的呢?
组合框的数据行来源类型有“表/查询”,“值列表”,“字段列表”我们只讲前两个类型,今天我们先来讲一下“表/查询”类型的方法。
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、运行
最后就是运行测试了。
好的,大家快去测试一下吧。
标签:Me,End,Sub,组合,客户,窗体,rst,框行,输入 From: https://blog.51cto.com/u_11741018/6245022