hi,大家好!
大家周末都有什么安排呢?要不要抽出半个小时和我一起来学校学习Access?今天我会分享一些实用的功能。让我们先来看一下这些功能。如图所示,我在窗体上添加了几个按钮,用于显示首条记录、上一条、下一条和尾条记录。这样一来,我们可以快速查看数据,在实际应用中非常实用。让我们一起来看看如何实现这些功能
01、添加按钮
这里新增、编辑的代码我们就不再去说明了,我们拿一个现在的编辑窗体,在窗体上添加4个按钮控件,然后将控件的名称分别改成:btnFirst、btnPrevious、btnNext、btnLast
接着也可以像我一下给按钮添加一下图片,如图
02、调整代码
这里我们先不急着添加代码,我们先将原来的加载事件的代码调整一下
'调整加载事件
Private Sub Form_Load()
On Error GoTo ErrorMsg
If Me.DataEntry Then
Exit Sub
Else
FormLoad (Me.OpenArgs)
End If
ExitErr:
Exit Sub
ErrorMsg:
MsgBox Err.Description, vbCritical
Resume ExitErr
End Sub
'增加函数
Function FormLoad(gID As Long)
On Error GoTo ErrorMsg
Dim rst As Object ' ADODB.Recordset
Dim strSQL As String
Dim cnn As Object ' ADODB.Connection
Set cnn = CurrentProject.Connection
Set rst = CreateObject("ADODB.Recordset") 'New ADODB.Recordset
strSQL = "select * from tblProduct where ID=" & Nz(gID, 0)
rst.Open strSQL, cnn
Me!ID = rst!ID
Me!ProductCode = rst!ProductCode
Me!ProductName = rst!ProductName
Me!ProductModel = rst!ProductModel
Me!ProductSpec = rst!ProductSpec
Me!Unit = rst!Unit
Me!IsEnabled = rst!IsEnabled
Me!Remark = rst!Remark
rst.Close
ExitErr:
Set cnn = Nothing
Set rst = Nothing
Exit Function
ErrorMsg:
MsgBox Err.Description, vbCritical
Resume ExitErr
End Function
03、添加代码
代码调整后,我们就可以来添加代码了,具体代码如下:
'首记录
Private Sub btnFirst_Click()
Form_frmProduct!frmProduct_List.Form.Recordset.MoveFirst
FormLoad (Nz(Form_frmProduct!frmProduct_List!ID, 0))
End Sub
'尾记录
Private Sub btnLast_Click()
Form_frmProduct!frmProduct_List.Form.Recordset.MoveLast
FormLoad (Nz(Form_frmProduct!frmProduct_List!ID, 0))
End Sub
'下一条
Private Sub btnNext_Click()
If Form_frmProduct!frmProduct_List.Form.CurrentRecord < Form_frmProduct!frmProduct_List.Form.Recordset.RecordCount Then
Form_frmProduct!frmProduct_List.Form.Recordset.MoveNext
FormLoad (Nz(Form_frmProduct!frmProduct_List!ID, 0))
End If
End Sub
'上一条
Private Sub btnPrevious_Click()
If Form_frmProduct!frmProduct_List.Form.CurrentRecord > 1 Then
Form_frmProduct!frmProduct_List.Form.Recordset.MovePrevious
FormLoad (Nz(Form_frmProduct!frmProduct_List!ID, 0))
End If
End Sub
04、运行测试
最后,我们就可以来运行测试一下了,我们来看一下效果:
好了,分享就到这里,大家快去试一下吧!