При создании Cmd в форме на go непосредственно на указанную c запись она идет туда, но затем при нажатии на Cmd Next это не работает?
Сначала я создал Sub для используйте в моих командных кнопках Следующая и Предыдущая запись:
'''
Sub MvToRec(frm As Form, mv As Access.AcRecord)
On Error Resume Next
DoCmd.GoToRecord , frm.Name, mv
Select Case Err.Number
Case 0 'no error
Case 2105
'if first record reached jump to last and vice versa
Select Case mv
Case acNext: mv = acFirst
Case acPrevious: mv = acLast
End Select
MvToRec frm, mv
Case Else
Debug.Print Err.Number, Err.Description
End Select
End Sub
'''
И затем я использую этот саб для своих командных кнопок Следующая (cmdNextRecord) или Предыдущая (cmdPreviousRecord):
'''
Private Sub cmdNextRecord_Click()
MvToRec Me, acNext
End Sub
Private Sub cmdPreviousRecord_Click()
MvToRec Me, acPrevious
End Sub
'''
Затем я создал командную кнопку «CmdGoTo», которая считывает определенный номер записи, вставленный пользователем (Me.TxtID), и открывает эту конкретную запись:
'''
Private Sub CmdGoTo_Click()
Dim strsearch As String
Dim Task As String
'Check if a Paper ID entered or not
If IsNull(Me.TxtID) Or Me.TxtID = "" Then
MsgBox "Please type in your paper ID.", vbOKOnly, "Paper ID Needed"
Me.TxtID.BackColor = vbYellow
Me.TxtID.SetFocus
Else
strsearch = Me.TxtID.Value
Task = "SELECT * FROM Papers WHERE ((ID Like ""*" & strsearch & "*""))"
Me.RecordSource = Task
Me.TxtID.BackColor = vbWhite
End If
End Sub
'''
Так что, как только я открываю форму, мои следующие и предыдущие командные кнопки работают как талисман, но когда я использую свою командную кнопку GoTo ... например, если пользователь вводит 22 и затем нажимает GoTo, он переходит к записи 22, что хорошо, но затем, если пользователь теперь пытается использовать следующую или предыдущую кнопки, это идет к записи 122 или к 222 или затем к 322, но никогда не идет к 23 (для следующего) или 21 (для предыдущего)? Я не понимаю почему? Может кто-то помочь мне с этим. Спасибо