Главная страница
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.031 c
7-1077171519
atmospheric
2004-02-19 09:18
2004.04.18
Как зарегистровать свое расширение ?


1-1080665760
Jul
2004-03-30 20:56
2004.04.18
Access violation при использовании функции из DLL


3-1080046885
Лысый
2004-03-23 16:01
2004.04.18
Select ...


1-1080657596
новичок_из_сыктывкара
2004-03-30 18:39
2004.04.18
Проверить пустая ли строка???


1-1079954454
BALU1111
2004-03-22 14:20
2004.04.18
Опять TListView