У меня есть подчиненная форма (дочерние записи), в которой будут перечислены области, к которым пользователь (родитель) может получить доступ.
В подчиненной форме есть возможность выбора множества областей доступа.
Так это может выглядеть следующим образом:
Склад 1 Офис 8 Гараж 3 Склад 11
Чтобы выбрать различные записи, которые нужно связать с пользователем, поле со списком cboAccessArea со списком всех возможных областей облегчает выбор этих записей, выпадающий вниз для раскрытия связанных записей.Это всегда хорошо работало в поле со списком «Перейти к».Я не добиваюсь такого же успеха, используя его в многодисковой подчиненной форме.
Например, если я наберу «WARE», он найдет все записи, которые содержат этот частичный текст, и опустит выпадающее меню cboAccessArea, чтобы отобразить только 3 связанные записи.
Поэтому я выбираю одну из найденных записей - «Склад 1»
Код работает нормально, пока я не попытаюсь добавить 2-ю или 3-ю запись, после чего поле со списком простопадает, но источник строки перестает работать.Однако, если я перемещаю курсор, как будто рисую при выборе записей, я вижу, что он просто не перекрасил источник строки, потому что он показывает то, что я набрал.У комбинированных полей нет метода «Перекрасить».Я также попробовал запрос, но он говорит, что запись должна быть сохранена.Разве уход из ряда не означает спасение?
Private Sub cboAccessArea_KeyUp(KeyCode As Integer, Shift As Integer)
Dim strSQL As String
strSQL = "SELECT * " _
& "FROM tbl_AccessAreas " _
& "WHERE AccessArea Like '*" & Me.cboAccessArea.Text & "*' OR [Segment] Like '*" & Me.cboAccessArea.Text & "*';"
Debug.Print strSQL
Select Case KeyCode
Case 38, 40 'up and down should move up and down - not search
KeyCode = 0
Case 27 'Escape key should prevent creating a record
Me.Undo
Case 1, 9, 13
Exit Sub
Case Else
Me.cboAccessArea.RowSource = strSQL
Me.cboAccessArea.Dropdown
End Select
End Sub