Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проверка при вводе / 6 сообщений из 6, страница 1 из 1
25.02.2009, 16:22
    #35837103
Kamely
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка при вводе
Добрый день!
Подскажите пожалуйста как реализовать следующее.
при нажатии на кнопку "Добавить", открываеться формочка для ввода нового изделия. Но может сложиться такая ситуация, что данное изделие уже имееться в базе, надо произвести проверку вводимого изделия с уже имеющимися. у меня есть следующий вариант: на форме ввода помещаю два грида. В первом гриде отображаеться новая пустая запись, а во втором записи,близкие с вводимой (если совпадают первые символы).Но я не соображу как это реализовать в коде.
фокс 8.0.
Заранее спасибо!
...
Рейтинг: 0 / 0
25.02.2009, 19:49
    #35837716
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка при вводе
можно ничего не придумывать и использовать 2 варианта:
1. из кода перед сохранением seek или select перед сохранением
2. уникальный индекс и обработка ошибки при попытке сохранить
...
Рейтинг: 0 / 0
26.02.2009, 06:22
    #35838196
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка при вводе
Если табличка с изделиями небольшая. то подойдет простой set filter или
перезапрос курсора, отображаемого в гриде с совпадениями

Когда инициировать set/select ?

Тут есть несколько вариантов:
1 если табличка реально небольшая 1000- 2000 записей, то можно повесить на
интерактив чендж контрола в котором происходит ввод нового изделия.

2 если таблица все таки не настолько мала, то в интерактив стартуем таймер,
а если он уже стартонут, то откладываем старт, скажем на 1 секунду. В самом
таймере накладываем фильтр или выполняем перезапрос данных.
Т.о. получается, что совпадения в гриде будут отображены только после 1
секунды бездействия пользователя на контроле для ввода нового изделия.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
26.02.2009, 10:58
    #35838543
Kamely
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка при вводе
Это все конечно хорошо, но хотелось бы что-бы найденные варианты совпадений выводились на экран. Это как в мобильном телефоне при вводе номера, на экрене высвечиваються номера с совпадающими цифрами. В дальнейшем надо вести учет, если вводимое изделие уже имееться в базе, необходимо записать его индекс в другую таблицу. Может я много хочу:-) я новичок и не совсем еще разбираюсь, может у кого-то делал что-то подобное. Спасибо
...
Рейтинг: 0 / 0
26.02.2009, 15:23
    #35839659
Kamely
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка при вводе
я делаю следующим образом: на форме есть грид, который отображает два поля таблицы, в правой части формы на каждое поле имеется елементы edit, которые связаны с гридом. Два едита дублируют записи из грида, остальные отображают остальные поля из таблицы. При добавлении новой записи на кнопку добавить вешаю следующий код

SELECT izd
APPEND BLANK
ThisForm.Pageframe1.Page1.GRID1.recordSource=" "
LOCAL index_e
index_e=ThisForm.Pageframe1.Page1.Edit3.Value

SELECT index,oboznach from izd into cursor "mycursor" where index_e=izd.index
WITH ThisForm.Pageframe1.Page1
.Command3.Enabled=.F.
.Command6.Enabled=.F.
.Command5.Enabled=.T.
.Command7.Enabled=.F.
.Command4.Enabled=.T.
.GRID1.recordSource="mycursor"
.GRID1.column1.controlsource="mycursor.index"
.GRID1.column2.controlsource="mycursor.oboznach"
ENDWITH
ThisForm.Refresh

в итоге в греде отображается запись таблицы, которая была текущей до добавления
...
Рейтинг: 0 / 0
26.02.2009, 15:33
    #35839690
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка при вводе
Может быть поступить "как обчыно"?

Главная форма содержит список ранее введенных данных, упорядоченных по соответствующему полю. Например, для номеров телефонов, упорядочены в порядке возрастания этих самых номеров.

Как следствие, легко увидеть были ли уже ранее введены подобные номера или нет. Если нет, то жмем на кнопку "Добавить", открываем новую форму и добавляем новый номер.

Т.е. главная форма со списком и подчиненная для ввода/редактирования одного элемента.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проверка при вводе / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]