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

Может быть, кто-нибудь расскажет, почему?

Добавлено: 10 июн 2002, 12:40
Sail
При таком написании интерфейса:
interface leave_1 'NameOfInterface';
table struct lnach(clsch: comp, vidopl: longint, summa: double);
create view as select lnach.*, klvidopl.* from klvidopl, lnach
where ((lnach.vidopl == klvidopl.vidopl))
;// and ('+' = klvidopl.vhvo[15] or '+' = klvidopl.vhvo[16]);
var
curm: word;
cury: integer;
screen rlscr;
buttons
cmIClose;
<<
<.Закрыть.>
>>
end;
handleevent
cmInit:{
if(getfirst xarpred = tsOk){
curm := month(xarpred.datotch);
cury := year(xarpred.datotch);
} else {
message('Can''t determine date of account');
closeinterface(cmCancel);
}
}
cmIClose:{
closeInterface(cmDefault);
}
end;
end.
результат работы такой, который и ожидался, но стоит только снять комметарии с дополнительного условия в описании логической таблицы, попытка найти первую запись таблицы xarpred терпит крах... ???

Re: Может быть, кто-нибудь расскажет, почему?

Добавлено: 14 июн 2002, 13:21
DEONIS
Сказать почему не скажу, но когда писал несколько условий в WHERE такая же неприятность была, ни в какую не хочет три условия обработать. Пришлось две таблица вытаскивать, и из них уже по частям все собирать.

Re: Может быть, кто-нибудь расскажет, почему?

Добавлено: 15 июн 2002, 14:59
sss61
Попробуй написать это
условие:
and ('+' = klvidopl.vhvo[15] or '+' = klvidopl.vhvo[16]);
по другому
and (klvidopl.vhvo[15] = '+' or
klvidopl.vhvo[16] = '+');

Не помогло :-(

Добавлено: 17 июн 2002, 06:00
Sail
???