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

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

Добавлено: 08 апр 2008, 04:31
Алексей Терещенко
Я до сих пор не могу понять, как работают подцепки.
Мне нужно для определенного 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'ом. Почему?

Добавлено: 08 апр 2008, 07:51
Алексей
if getfirst attrval where (( атрнрек == attrval.cattrnam )) = tsok then ...

замените на

if getfirst attrval = tsok then ...

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