Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

BeforePost и LookUp поле [D5, Paradox]


td ©   (2004-03-22 22:50:00) 

Есть большое количество маленьких дочерних таблиц, привязанных к основной - родительской.
Их структура почти одинаковая (первые три поля везде называются одинаково):
1. Идентификатор
2. Код родительской таблицы
3. Код записи из справочника - для каждого такого поля создано поле LookUp
4. Одно-два числовых поля.

Большинство таблиц связаны с собственными справочниками, некоторые - с одинаковыми.
Каждая из них открывается в одной и той же форме (модальной, которая при закрытии всякий раз уничтожается). В форму передается TTable.
На событие BeforePost стоит обработчик - проверка на дублирование, на целостность.

Так почему открытием выпадающего списка (для выбора значения из справочника) у одной таблицы срабатывает BEFOREPOST?

Причем, если отключить обработку, перед открытием списка и после выбора появляется сообщение об ошибке "TableSPS: DataSet not in edit or Insert mode." А TableSPS - это справочник!!

Отчаявшись найти ошибку в коде, я удалил эту таблицу из датамодуля, перекомпилировал без нее, никаких следов не должно было остаться. Создал заново. Тоже самое.
Потом подумал, может, это глюк DBGridEh - мало ли, сделал именно для этой таблицы свою собственную форму с обычным DBGrid. Тоже самое.

Ко всему прочему, есть дочерние таблицы, имеющие точно такую же структуру, связанные с этим же справочником - и для них все работает без проблем.

Где ошибку искать?
Спасибо!


td   (2004-03-24 22:56:00) [1]

TableSPS - это справочник

lety@mail.ru


служивый   (2004-03-24 20:28:00) [2]

e-mail есть ?


служивый   (2004-03-24 20:20:00) [3]

TableSPS это тавлица из которой берутся значения или куда вставляются?


td   (2004-03-24 19:16:00) [4]

никаких больше обработчиков нет у этой таблицы, которых бы не было у других.
Т.е. я ее даже специально удалял, чтобы убедиться

с пошаговым все уходит в недра DBGridEh :(


служивый   (2004-03-23 21:30:00) [5]

1 проверь какие еще есть обработчики для этой таблицы
2 поставь прерывание  и пройди пошагово все циклы


td   (2004-03-23 20:47:00) [6]


> служивый   (23.03.04 20:43) [3]


Проверка делается с помощью запроса.
Но в чем загвоздка - все прекрасно работает для 30 таких же таблиц, ничего не понимаю


служивый   (2004-03-23 20:43:00) [7]

На событие BeforePost стоит обработчик - проверка на дублирование, на целостность.

Проверка делается не с помощью locate?
Если да то таблицу надо после этого перевести в режим редактирования


td   (2004-03-23 17:24:00) [8]

спасибо, но там большой проект.
И потом, он военный. Типа секретность и все такое %)

Но хотя бы примерно. С чего бы ты начал искать?


Zacho   (2004-03-22 22:58:00) [9]

Пришли мне свой проект. Всё: исходники, таблицы. Мыло есть в анкете. Не обещаю - но если будет время завтра посмотрю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо