【首记录、上一条、下一条、尾记录】半小时学会记录的滚动,轻松查看数据

本文介绍了如何在Access中创建窗体,添加按钮以实现快速查看数据,包括显示首条、上一条、下一条和尾条记录的功能。作者详细讲解了代码调整和按钮点击事件的编写过程。
摘要由CSDN通过智能技术生成

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、运行测试

最后,我们就可以来运行测试一下了,我们来看一下效果:

好了,分享就到这里,大家快去试一下吧!

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易登软件Access开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值