|
проверка при вводе
|
|||
---|---|---|---|
#18+
Добрый день! Подскажите пожалуйста как реализовать следующее. при нажатии на кнопку "Добавить", открываеться формочка для ввода нового изделия. Но может сложиться такая ситуация, что данное изделие уже имееться в базе, надо произвести проверку вводимого изделия с уже имеющимися. у меня есть следующий вариант: на форме ввода помещаю два грида. В первом гриде отображаеться новая пустая запись, а во втором записи,близкие с вводимой (если совпадают первые символы).Но я не соображу как это реализовать в коде. фокс 8.0. Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2009, 16:22 |
|
проверка при вводе
|
|||
---|---|---|---|
#18+
можно ничего не придумывать и использовать 2 варианта: 1. из кода перед сохранением seek или select перед сохранением 2. уникальный индекс и обработка ошибки при попытке сохранить ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2009, 19:49 |
|
проверка при вводе
|
|||
---|---|---|---|
#18+
Если табличка с изделиями небольшая. то подойдет простой set filter или перезапрос курсора, отображаемого в гриде с совпадениями Когда инициировать set/select ? Тут есть несколько вариантов: 1 если табличка реально небольшая 1000- 2000 записей, то можно повесить на интерактив чендж контрола в котором происходит ввод нового изделия. 2 если таблица все таки не настолько мала, то в интерактив стартуем таймер, а если он уже стартонут, то откладываем старт, скажем на 1 секунду. В самом таймере накладываем фильтр или выполняем перезапрос данных. Т.о. получается, что совпадения в гриде будут отображены только после 1 секунды бездействия пользователя на контроле для ввода нового изделия. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2009, 06:22 |
|
проверка при вводе
|
|||
---|---|---|---|
#18+
Это все конечно хорошо, но хотелось бы что-бы найденные варианты совпадений выводились на экран. Это как в мобильном телефоне при вводе номера, на экрене высвечиваються номера с совпадающими цифрами. В дальнейшем надо вести учет, если вводимое изделие уже имееться в базе, необходимо записать его индекс в другую таблицу. Может я много хочу:-) я новичок и не совсем еще разбираюсь, может у кого-то делал что-то подобное. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2009, 10:58 |
|
проверка при вводе
|
|||
---|---|---|---|
#18+
я делаю следующим образом: на форме есть грид, который отображает два поля таблицы, в правой части формы на каждое поле имеется елементы 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 в итоге в греде отображается запись таблицы, которая была текущей до добавления ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2009, 15:23 |
|
проверка при вводе
|
|||
---|---|---|---|
#18+
Может быть поступить "как обчыно"? Главная форма содержит список ранее введенных данных, упорядоченных по соответствующему полю. Например, для номеров телефонов, упорядочены в порядке возрастания этих самых номеров. Как следствие, легко увидеть были ли уже ранее введены подобные номера или нет. Если нет, то жмем на кнопку "Добавить", открываем новую форму и добавляем новый номер. Т.е. главная форма со списком и подчиненная для ввода/редактирования одного элемента. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2009, 15:33 |
|
|
start [/forum/topic.php?fid=41&tid=1586723]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 350ms |
total: | 506ms |
0 / 0 |