Доступ MS ищет запись текстовым полем вместо выпадающего

Другой способ решения этой проблемы - использование подкоманд (a'la git) с «действием» в качестве первого аргумента:

script dump --dump-format="foo"
script upload

5
задан 29 May 2009 в 02:05
поделиться

2 ответа

Я предполагаю, что вы связали свою форму с таблицей или запросом и хотите иметь возможность вводить идентификатор вручную в текстовое поле, затем нажмите ENTER и загрузите данные или отображение этой записи. сообщение об ошибке, если такой записи нет.

Как сказал dsteele , убедитесь, что для свойства Data формы Allow Addtions установлено значение No , чтобы запретить пользователей от добавления записей.

Затем из события AfterUpdate текстового поля добавьте следующий код (при условии, что ваше текстовое поле называется txtGoTo ):

Private Sub txtGoTo_AfterUpdate()
    If (txtGoTo & vbNullString) = vbNullString Then Exit Sub
    Dim rs As DAO.RecordSet
    Set rs = Me.RecordsetClone
    rs.FindFirst "[ID]=" & txtGoTo
    If rs.NoMatch Then
        MsgBox "Sorry, no such record '" & txtGoTo & "' was found.", _
               vbOKOnly + vbInformation
    Else
        Me.RecordSet.Bookmark = rs.Bookmark
    End If
    rs.Close
    txtGoTo = Null
End Sub

Обратите внимание, что вы необходимо будет изменить строку rs.FindFirst "[ID] =" & txtGoTo на то, что подходит для ваших данных:

  • "[ID] =" следует заменить полем, в котором вы хотите выполнить поиск (это может быть "[POReference] =" или что-то еще.

  • , если вы выполняете поиск по числовому идентификатору, например, потому что поле является столбцом автонумерации, тогда код в порядке.
    В противном случае, если поле, в котором вы выполняете поиск, является строкой (скажем, PN12-G ), вам необходимо изменить код на:

     rs.FindFirst "[ID] =" "" & txtGoTo & "" ""
    

Отсутствие правильного цитирования (или цитирования, где это необязательно) приведет к ошибкам типа Несоответствие типов данных ... .

Как новый пользователь, я бы порекомендовал вам взгляните на образец базы данных проекта NorthWind , который либо поставляется со старыми версиями Access, либо доступен в качестве шаблона для загрузки из Access 2007.
Новичкам в Access можно научиться многим методам, включая другие способы реализации навигации по записям.

7
ответ дан 14 December 2019 в 04:46
поделиться
  1. Установите для свойства формы Data / 'Allow Additions' значение No.
  2. Либо в событии AfterUpdate текстового поля, либо в событии Click кнопки, вы можете написать код или назначить макрос для найдите и отобразите нужную запись.
1
ответ дан 14 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: