|
|
|
проблема ввода данных
|
|||
|---|---|---|---|
|
#18+
Вообщем такая ситуация: прежде чем занести данные в таблицу, следует проверить есть ли такие данные уже в таблице. Если есть не записывать,а если нет то записать. На листинге внизу функция seek почему то не работает но при этом не возникает ошибка, оператор for выполняетсь, результата в таблице нет, т.е. не записываются данные если их там нет. (Таблица пустая) В чем причина может быть? может другой вариант есть!!! For i=1 to Reccount() Use торговые_представители set near off seek i=i If !found() Set MultiLock On Cursorsetprop("buffering",3) Insert Into торговые_представители (last_name,First_name,patronymic,adress,phone,type_product); Values(ThisForm.txtLName.value,ThisForm.txtFNAme.value, ThisForm.txtPatronymic.value, ; ThisForm.txtAdress.Value, ThisForm.txtPhone.VAlue,ThisForm.txtTwrs.Value) n=Reccount() Replace key_repres With n exit else n=RecNo() MessageBox("Такая запись существует") go n Endif endFor ThisForm.Grid1.SetFocus ThisForm.Refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 03:24 |
|
||
|
проблема ввода данных
|
|||
|---|---|---|---|
|
#18+
Что-то в листинге не видно сброс буфера TABLEUPDATE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 09:37 |
|
||
|
проблема ввода данных
|
|||
|---|---|---|---|
|
#18+
Сначала приведем Ваш код в вид, при котором его можно анализировать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Сам по себе цикл весьма странный. Я так понимаю, что он перебирает все физические номера записей неизвестно какой таблицы (до начала цикла не указана таблица-образец) и сравнивает ... с чем? Что должен делать оператор seek i=i Это как? Почему на этой команде не выскакивает сообщение об ошибке? Вы же не указали активного индекса для таблицы "торговые_представители". Да даже, если бы и указали, ЧТО должен найти такой оператор? Далее, как уже указал Роман, выберите что-то одно. Либо буферизация+TableUpdate(), либо отказ от буферизации. А делать гибрид ежа и ужа ..., ну, получите несколько метров колючей проволоки . Внутри цикла постоянно "дергать" групповые команды, во-первых, снижать производительность, а во-вторых, что более важно, нарушить логику выполнения программы. Зачем Вы делаете открытие таблицы "торговые_представители" и настройку режима буферизации внутри цикла? Т.е. сколько шагов сделает цикл, столько раз Вы переоткрываете таблицу и столько же раз делая настройку режима буферизации. При этом автоматически сохраняя все изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 09:58 |
|
||
|
проблема ввода данных
|
|||
|---|---|---|---|
|
#18+
Я тож так думаю!!! чето я не так сделал. Позно ночью делал наверно напутал!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 16:38 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34340036&tid=1589860]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 388ms |

| 0 / 0 |
