Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: 2007, можно 2003
 
 автор: esperanza   (06.05.2010 в 21:55)   личное сообщение
 
 

Акс 2007. Согласна пересохраниться под 2003.

Есть форма, заполняемая запросом.
1) Есть поле плПоиск, в котором по событию "ИЗМЕНЕНИЕ" выполнялся код:


dim flt as string
flt = Me.плПоиск.Text
Me.Filter = "НомерТелефона Like '*"+flt+"*'"
Me.FilterOn = True



Проблема в том, что при таком раскладе рассматривается только один символ в поле Поиск. То есть, нельзя ввести 8926, чтобы вывести все телефоны, в которых встречается такое сочетание цифр.

Решила эту проблему добавлением в конце строки:


Me.SelStart = Len(flt)



Все, вроде, ничего, но команда FilterOn съедает пробелы. И если я хочу найти телефоны, в которых есть комбинация 8 926, то поиск не сработает.

2) Из-за того, что форма заполняется запросом, где-то в Аксе2007 ( в 2003 не было такого занудства вроде) стоит установка, чтобы нельзя было добавлять новую запись, типа надо сначала в одну таблицу добавить, потом в другую, чтобы не возникало ошибок. Проблема получается в том случае, когда пользователь вводит в поле Фильтра-Поиска комбинацию символов, которые не встречаются в форме. Вылетает ошибка о том, что типа, мол, сфокусироваться не на что: область данных в форме становится пустой и даже нет строки для новой записи, как это было в Аксе 2003.

Пожалуйста, помогите!!!! Заказчику уж очень нравится динамическая фильтрация, чтобы нажать один символ - и данные отфильтровались.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList