|
20.05.2008, 14:08 | #1 |
Участник
|
Real в качестве ключа - ошибка при создании записи в связанной таблице
Проблема:
существуют 2 таблицы - диаметр трубы и толщина стенки, у обеих в качестве ключа выбрано поле типа real, основанное на EDT, 3 знака после запятой. Далее существует таблица с комбинациями диаметра и толщины стенки. Создаю диаметр, например 1.315, и хочу его выбрать для комбинации, в результате получаю ошибку "The value '1,32' in field 'Diameter' is not found in relating table 'Pipe diameter'." Можно ли обойти каким-либо образом это округление или придется создавать строковое поле и дублировать туда значение? Kernel 4.02163 SP2, localization Eastern Europe |
|
20.05.2008, 14:18 | #2 |
Участник
|
А вы чего, трубы не по ГОСТу производите?
Делайте строковым типом ключ и не выдумывайте велосипед. |
|
|
За это сообщение автора поблагодарили: sgt.Pepper (1). |
20.05.2008, 14:22 | #3 |
Участник
|
Просто в этом случае получается дублирование данных, а десятичное поле нужно для конвертации из дюймов в миллиметры, например.
|
|
20.05.2008, 14:40 | #4 |
Member
|
Вроде, у меня получилось (не округляет). Я чего-то недочитал?
__________________
С уважением, glibs® |
|
20.05.2008, 16:08 | #5 |
Участник
|
Да, действительно, повторно создал тестовые формы - не округляет.
Нашел причину: в EDT в FormHelp у меня было прописана форма лукапа, в которой в методе closeSelect было следующее: X++: public void closeSelect(str _selectString) { TmkOuterDiameter diameter; ; diameter = OuterDiameter_ds.cursor(); _selectString = strfmt("%1", diameter.DiameterId); super(_selectString); } Вобщем, всем спасибо за помощь :-) |
|