ник: joka
сделал так
Private Sub ПолеВыбораСотрудника_Change()
Dim strWhere, strSQL1, strSQL2 As String
If Len([ПолеВыбораСотрудника].Text) <> 0 Or Not IsNull([ПолеВыбораСотрудника].Text) Then
strSQL1 = "SELECT id, ФИО FROM Usys_sotr"
strSQL2 = " ORDER BY Usys_sotr.ФИО;"
strWhere = " WHERE ФИО Like '" & Me![ПолеВыбораСотрудника].Text & "*' "
Me![ПолеВыбораСотрудника].RowSource = strSQL1 & strWhere & strSQL2
Me![ПолеВыбораСотрудника].Dropdown
End If
End Sub
Private Sub ПолеВыбораСотрудника_LostFocus()
'возврат RecordSource к исходному значению
Me![ПолеВыбораСотрудника].RowSource = "SELECT id, ФИО FROM Usys_sotr ORDER BY Usys_sotr.ФИО;"
Me![ПолеВыбораСотрудника].Requery
End Sub
вроде все работает нормально, осталлся такой только момент. Ввожу первые буквы фамилии, в списке происходит отбор, список открывается. А далее если выбор осуществить клавишами вверх-вниз и потом нажатием ввод то все нормально.
а если выбор осуществить мышкой из предложенных фамилий, то лишний раз срабатывает DropDown. Приходится давить мышкой куда нибудь чтобы сбросить фокус...
Это конечно уже не глюк, но можно ли как нибудь избежать этого? Ведь если выбор с клавиш то список нормально закрывается.