Страница 1 из 1

Непонятно работает t(DB)EnumEditLB

Добавлено: 18.09.2009 01:09:27
t-ea
Есть две таблицы по два поля в каждой:
1. ЛЮДИ — ФИО (varchar) и код города (decimal 12,0)
2. СПРАВОЧНИК (код города и его название)
Если для указания города в таблице ЛЮДИ использовать t(DB)EnumEditLB, то на некоторых значениях компонент ругается на Range Error. В даннаом примере пытался выбрать значение «ГДЕ ТО ТАМ» (77 257 802 013).

Экранчики внизу.

У кого-нибудь такое же было и кто как с этим справлялся.
Старт программы
Старт программы
start.png (4.25 КБ) 15752 просмотра
Пытался выбрать ГДЕ ТО ТАМ (77 257 802 013)
Пытался выбрать ГДЕ ТО ТАМ (77 257 802 013)
error.png (752 байт) 15753 просмотра

Re: Непонятно работает t(DB)EnumEditLB

Добавлено: 18.09.2009 08:30:43
debi12345
Потому что tdbenumeditln.max=2 147 483 647 в ваших настройках (по умолчанию).

Re: Непонятно работает t(DB)EnumEditLB

Добавлено: 18.09.2009 17:25:48
t-ea
Это первое что я попытался исправить, но не помогло, тем более остальные два значения выбираются без ошибки, хотя их код больше.

Немного разъясню: в работе используется настоящий — большой — справочник ОКАТО, и я заметил три вида поведения t(DB)EnumEditLB: как положено выбирается, заполняется и т.д., один с ошибкой с которой я описал, а в третьем случае после выбора значения в выпадающем списке поле ввода просто очищается. Закономерности и зависимости от значений кода я не могу понять: одно значение выбирается, следующее за ним нет, а ещё следующее опять можно выбрать…

Re: Непонятно работает t(DB)EnumEditLB

Добавлено: 19.09.2009 01:18:58
debi12345
Может, дело в используемом типе largeInt ?
Если можете описать шаги и подробности - напишите Мартину в конференцию.

Re: Непонятно работает t(DB)EnumEditLB

Добавлено: 19.09.2009 04:01:07
t-ea
Тип кодов городов непосредственно в таблице-справочнике — FLOAT 12 знаков, а тип LargeInt для поля ID mse устанавливает самостоятельно.

Насчёт описания шагов и подробностей: даже не знаю что написать. Мне надо знать, как в приложенном примере выбрать поле с кодом 77257802013 и возможно ли это вообще?

В конференцию я написать не смогу, так как если даже здесь не могу объяснить, что мне надо, то там тем более.

Re: Непонятно работает t(DB)EnumEditLB

Добавлено: 19.09.2009 16:20:50
debi12345
Martin:
T-EA,
You probably should use tenum64editlb or use a string key with
tkeystringeditlb.