【问题标题】:Record navigation on a form在表单上记录导航
【发布时间】:2017-11-20 00:24:21
【问题描述】:

所以我的任务是创建一个跟踪数据库,但我遇到了一个让我发疯的问题。

我创建了一个输入表单,为了便于使用,我需要创建自定义导航按钮,我再次完成了这个并且它们工作正常。 如果在第一条记录/最后一条记录中,我已向当前事件添加代码以禁用按钮 - 再次正常工作。

这是我卡住的地方,一旦我禁用内置导航按钮,它就会禁用我创建的自定义按钮。如果我删除当前的事件代码,它们会再次起作用,但不是我想要的。

感谢您提供的任何帮助,因为我仍然是学习 Access 的新手,我确信这是一个简单的解决方法,但我做的不正确 - 但我无法弄清楚,我在下面包含了我的代码.

提前感谢您的帮助。

Option Compare Database
Option Explicit

Private Sub cmdBack_Click()

    On Error Resume Next

    DoCmd.GoToRecord , , acPrevious
End Sub

Private Sub cmdNew_Click()

    On Error Resume Next

    DoCmd.GoToRecord , , acNewRec
End Sub

Private Sub cmdNext_Click()

    On Error Resume Next

    DoCmd.GoToRecord , , acNext

End Sub

Private Sub Form_Current()

    On Error Resume Next

    If Me.CurrentRecord = 1 Then

        Me.cmdBack.Enabled = False

    Else
        Me.cmdBack.Enabled = True

    End If

    If Me.CurrentRecord >= Me.Recordset.RecordCount Then

        Me.cmdNext.Enabled = False

    Else
        Me.cmdNext.Enabled = True

    End If

    If Me.NewRecord Then

        Me.cmdNew.Enabled = False

    Else
        Me.cmdNew.Enabled = True

    End If

End Sub

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    您可以使用表单记录集将您的 DoCmd. 调用替换为导航。

    Me.Recordset.MoveNext 'alternative to DoCmd.GoToRecord , , acNext
    Me.RecordSet.MovePrevious 'alternative to DoCmd.GoToRecord , , acPrevious
    Me.RecordSet.AddNew 'alternative to DoCmd.GoToRecord , , acNewRec
    

    【讨论】:

      【解决方案2】:

      非常感谢您更新的代码 - 我必须添加以下行才能让它们按我的意图工作。

      Me.RecordsetClone.MoveLast

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多