Пользовательская навигация завершается неудачно при открытии отдельной записи в проекте Microsoft Access

У меня проблемы с моим проектом Microsoft Access.

Проект состоит из двух форм, называемых: InfoForm а также SearchBox,

Форма InfoForm

InfoForm форма является основной формой и имеет следующее:

  • Пользовательские кнопки навигации, которые есть; Next а также Prev
  • Обычай Search button, который открывает SearchBox форма.

Форма поиска

SearchBox Форма используется для просмотра и открытия отдельных записей, и имеет следующее:

  • Список доступных individual records
  • Open кнопка

Индивидуальные записи

Отдельные записи открываются в InfoForm форма.

Я использую этот код на Open' button of theФорма SearchBox` выглядит следующим образом:

Private Sub Command1_Click()

Dim strLN As String
strLN = Me.SearchResults.Column(0)

Dim strGN As String
strGN = Me.SearchResults.Column(1)

Dim strMN As String
strMN = Me.SearchResults.Column(2)

DoCmd.OpenForm "InfoForm", acNormal, , _
              "[Last Name] = '" & strLN & "' And " & _
              "[Given Name] = '" & strGN & "' And " & _
              "[Middle Name] = '" & strMN & "'"

DoCmd.Close acForm, "SearchBox"

End Sub

Этот код прекрасно работает, когда InfoForm Форма сначала открывается, вплоть до individual record открыт.

В этот момент перестают работать навигационные кнопки "Далее" и "Пред" в форме "InfoForm".

Пожалуйста помоги. Спасибо.

1 ответ

Как отметил @Andre, если форма фильтруется в одну запись, то нет ни последующих, ни предыдущих записей, к которым можно было бы перейти. Ваши критерии фильтра приводят к одному набору данных?

Альтернативой является открытие формы без фильтрации (или с фильтром, который возвращает ограниченный набор данных, но обычно все равно будет иметь несколько записей) и "перейти к" требуемой записи, после чего будут перемещаться последующие и предшествующие записи. Пример из моего кода:

Чтобы открыть форму:DoCmd.OpenForm "Samples", , , , , acDialog, strLabNum

Затем код за открытой формой:

Private Sub Form_Open(Cancel As Integer)
Me.RecordsetClone.FindFirst "LabNum='" & Me.OpenArgs & "'"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
Другие вопросы по тегам