Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

BeforePost и LookUp поле   Найти похожие ветки 

 
td   (2004-03-22 22:50) [0]

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

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

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

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

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

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

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


 
Zacho ©   (2004-03-22 22:58) [1]

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


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

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

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


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

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

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


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


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


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


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

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


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

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

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


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

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


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

e-mail есть ?


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

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

lety@mail.ru



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1080650227
КомофОнСамый
2004-03-30 16:37
2004.04.18
TMemo - как разбить на слова.


9-1066817546
misterix
2003-10-22 14:12
2004.04.18
Исходник загрузки Half-Life mdl


11-1061805311
Dimaxx
2003-08-25 13:55
2004.04.18
Байда с отловом сообщений системы!


7-1077320098
Electon
2004-02-21 02:34
2004.04.18
Использование чужой DLL


3-1078829501
Rauf
2004-03-09 13:51
2004.04.18
Проблема Юникода в запросе SQL