|
31 Кб. |
|
| Привет всем !!!
Што нужно сделать штобы в форме при вводе первых букв в поле поиска - в списке оставались записи соответствующие введенным первым буквам.
Например ввожу букву "б" - остаются все слова на "б" - добавляю букву "о" - остаются все слова на "бо" - добавляю букву "р" - остаются все слова на "бор" и т.д.
На Кнопка15_Click() - все замечательно.
Почему не работает на Find1_Change(). Што нужно изменить.
Сам уже просто упарился
В приложении пример
Спасибо | |
|
| |
|
|
|
| http://hiprog.com/index.php?option=com_content&task=view&id=606
так не пойдет? | |
|
| |
|
|
|
| Наверное Вы имели ввиду "Пример ввода новой записи в список и поиска записи в списке". Тогда не догоняю где что фильтруется
Там где поиск ввожу сочетание букв из имени клиента - ничего не происходит ??? | |
|
| |
|
|
|
|
| Понял
Но фишка в том што нужно фильтровать не выходя из поля просто при изменении набора букв в поиске.
Как это сделать ??? | |
|
| |
|
|
|
| так же только работать с событием изменение и свойством TEXT | |
|
| |
|
|
|
|
Private Sub Выключатель46_Click()
If Me.Выключатель46 = -1 Then
Me.Поле44.Value = ""
Me.Поле44.Visible = True
Me.Поле44.SetFocus
Else
Me.Поле44.Visible = False
DoCmd.ShowAllRecords
Me.OrderByOn = True
End If
End Sub
Private Sub Поле44_GotFocus()
Me.Поле44.SelStart = Len(Me.Поле44.Text)
End Sub
Private Sub Поле44_KeyUp(KeyCode As Integer, Shift As Integer)
DoCmd.ApplyFilter , "Фамилия like '" & Me.Поле44.Text & "*'"
End Sub
|
| |
|
| |
|
32 Кб. |
|
| Сделал так:
Private Sub Find1_Change()
Me.List1.Requery
Me.Refresh
End Sub
|
Вроде все нормально
но
при вводе буквы в поле поиск происходит выделение введннных букв в поле поиск
Как от этого уйти ???
В приложении пример | |
|
| |
|
37 Кб. |
|
| можно так | |
|
| |
|
|
|
|
|
| хелп!
если такой записи нет в списке, то вылетает ошибка у меня | |
|
| |
|
|
|
|
| если я в поле поиска набираю фирму и эта фирма есть в списке, по которому собственно она ищется, то нет проблем
но если , к примеру, фирма "Рога и копыта" есть, а я набираю "Рога и кА, то выдает ошибку, выскакивает табличка MVB с кнопакми Енд и Дебуг
я так понимаю, собака зарыта в том, что нужна типа обработка ошибки что ли... | |
|
| |
|
|
|
| нажми дебуг, посмотри куда выкинет | |
|
| |
|
|
|
| аа...так выкидывает в
Me.Поле64.SelStart = Len(Me.Поле64.Text)
|
| |
|
| |
|
|
|
| А что говорит то? какая ошибка? | |
|
| |
|
|
|
| невозможно обратиться к свойству или методу элемента управления, пока на этот элемент не установлен фокус ввода | |
|
| |
|
|
17 Кб. |
|
| хм..хотел написать, что ничего не понятно
сваял свой кусок в А2003, чтобы прикрепить его к форуму
и что вы думаете???
в А2003 работает!!!
а в 2007-м выдает ошибку
забыл написать, что помимо текста "невозможно обратиться к свойству или методу элемента управления, пока на этот элемент не установлен фокус ввода"
на табличке есть еще надпись
Run-Time error '2185'
| |
|
| |
|
|
|
| "невозможно обратиться к свойству или методу элемента управления, пока на этот элемент не установлен фокус ввода"
Перевожу с русского на русский
ПОка фокус находится в другом контроле (т.е. не в том к свойству которого вы обращаетесь) получить значение этого свойства (обратиться к свойству) - невозможно.
и остановка на строке:
Me.Поле64.SelStart = Len(Me.Поле64.Text)
Свойтсво "Text" поля доступно только когда в поле установлен фокус, т.е. нужно сначала установить фокус а потом обращаться к свойству:
Me.Поле64.Setfocus
Me.Поле64.SelStart = Len(Me.Поле64.Text)
|
| |
|
| |
|
|
|
| не osmor
не работает
та же фигня происходит
пока набираемые буквы совпадают с теми, которые ищем - все нормуль
ну, ищу слово "АвангарД"
стОит мне в поле поиска писать "АванарТ", выдает дебуг
причем в 2003-м таких проблем нет | |
|
| |
|
|
|
| проверил в 2007 Run-time (другого нет) все работает | |
|
| |
|
|
|
| блин...
так..щас свой пример ковертну в 2007-й и посмотрю... | |
|
| |
|
|
|
| у меня истерика щас будет
засосал сляпаную на скорую руку форму из примера в свою базу - работает!!!
на форме, в которой не работает поубивал все и скопировал со сляпаной формы код - не работает!
дайте мне парабеллум!!! | |
|
| |
|
|
|
| разобрался..блин
в свойствах формы, вкладка "Данные", "Разрешить добавление" поставил "Да"
я в свое время поубирал в конце ленточной формы пустые строки, т.к. список этот формируется в другом месте и чтобы менеджеры не тыкали в эту пустую строку и не пытались ввести новую фирму
а теперь эта строка понадобилась, поскольку, когда мы набираем в поле поиска слово, которого нет в списке, то в области данных не остается ни одной строки (даже пустой)
вот акс и орет - ошибка..ошибка...ошибка....
фух! | |
|
| |
|
|
|
| может собака порыта в том, что у меня ленточная форма находится прямо в области данных, а не так, как вы привели чуть выше в примерах
у меня в области данных просто поле Название_Фирмы и все...
а в заголовке формы стоит это самое поле поиска | |
|
| |
|
|
36 Кб. |
|
| Посмотри приложенный пример
Я сделал немного по другому. Так не надо менять RowSource списка (это имеет опред.преимущества)
И ошибок никаких не происходит
Дешево и сердито | |
|
| |