Не могу понять, как работают подцепки

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Алексей Терещенко
Сообщения: 12
Зарегистрирован: 31 окт 2007, 11:29
Откуда: г.Комсомольск-на-Амуре
Контактная информация:

Не могу понять, как работают подцепки

Сообщение Алексей Терещенко »

Я до сих пор не могу понять, как работают подцепки.
Мне нужно для определенного katmc получить определенный внеш.атрибут attrval.

Вот так работает:

Create view Viewname
as select * from katmc, AttrNam, AttrVal;
...
if getfirst katmc where (( нрек == katmc.nrec )) = tsok then
if getfirst attrval where (( 1411 == attrval.wtable and katmc.nrec == attrval.crec and атрнрек == attrval.cattrnam )) = tsok then ...


А вот так не работает:

Create view Viewname
as select * from katmc, AttrNam, AttrVal
where (( 1411 == attrval.wtable and katmc.nrec == attrval.crec ));

if getfirst katmc where (( нрек == katmc.nrec )) = tsok then
if getfirst attrval where (( атрнрек == attrval.cattrnam )) = tsok then ...

Во втором случае, я всегда получаю внеш.атрибут для какой-то одной katmc, вне зависимости от того, что я бегаю по katmc getfirst'ом. Почему?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

if getfirst attrval where (( атрнрек == attrval.cattrnam )) = tsok then ...

замените на

if getfirst attrval = tsok then ...
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Сообщение PViP »

Алексей Терещенко, поищите на форуме, если вы накладываете ограничения в getfirst, то ограничения логической таблици перестают действовать, а действуют которые в getfirst указаны!
Ответить