Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: joka
Вот весь код, использовать булевую переменную и соотвественно if с ней тебе наверно ненадо, просто у меня в афтер апдейт там дополнительное событие Change возникало... тебе надо добавить наверно только обновление на получение фокуса и отловить нажатие мыши и проверять его в Change.


Private Sub ПолеВыбораСотрудника_AfterUpdate()
'возврат RecordSource к исходному значению
Me![ПолеВыбораСотрудника].RowSource = "SELECT id, ФИО FROM Usys_sotr ORDER BY Usys_sotr.ФИО;"
Me![ПолеВыбораСотрудника].Requery
'поиск записи, соответствующей этому элементу управления.
If Not IsNull(Me![ПолеВыбораСотрудника]) Then
With Me.RecordsetClone
.FindFirst "id = " & Me![ПолеВыбораСотрудника]
If Not .NoMatch Then Me.Bookmark = .Bookmark
End With
Else 'подстановка текущего значения в случае отсутствия ФИО, соответствующего введеному тексту
Me![ПолеВыбораСотрудника] = id
End If
'подсчет значений
With Me.RecordsetClone
If Not .BOF Or Not .EOF Then .MoveLast
RecCount.Caption = .RecordCount
End With
End Sub

Private Sub ПолеВыбораСотрудника_Change()
Dim strWhere, strSQL1, strSQL2 As String
If var_long = 40 Then Exit Sub
If var_long = 38 Then Exit Sub
'осуществление динамического отбора записей по введеным символам
If (Not bolvar) Or (var_long <> -1) Then
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 If
bolvar = False
End Sub

Private Sub ПолеВыбораСотрудника_GotFocus()
Me![ПолеВыбораСотрудника].RowSource = "SELECT id, ФИО FROM Usys_sotr ORDER BY Usys_sotr.ФИО;"
Me![ПолеВыбораСотрудника].Requery
End Sub

Private Sub ПолеВыбораСотрудника_KeyDown(KeyCode As Integer, Shift As Integer)
var_long = KeyCode
End Sub

Private Sub ПолеВыбораСотрудника_LostFocus()
Me![ПолеВыбораСотрудника].RowSource = "SELECT id, ФИО FROM Usys_sotr ORDER BY Usys_sotr.ФИО;"
Me![ПолеВыбораСотрудника].Requery
End Sub

Private Sub ПолеВыбораСотрудника_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
bolvar = True
var_long = -1
End Sub


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.