Текущий архив: 2004.10.24;
Скачать: CL | DM;
ВнизПомогите с расчетами!!! Найти похожие ветки
← →
janb (2004-09-24 09:45) [0]Имеются таблицы: таблица справочника тб1 и расчетов тб2.
поля тб1:
kod_1
kod_2
kod_3
dobichа
тб2:
kod_1
kod_2
kod_3
zn1
obsh
Задача такова
obsh:=zn1*tb1.dobicha
значение добычи для каждой записи должна равнятся соответсвующей записи, с учетом значении полей
код_1, код_2, код_3
я сделал так:
tb1.DataSet.Locate("kod_1;kod_2;kod_3",vararrayof([tb2.fieldbyname("kod_1").AsInteger,tb2.DataSet.fieldbyname("kod_2").A sInteger,tb2.DataSet.fieldbyname("kod_3").AsInteger]),[]);
Расчет производится, все нормально на первый взгляд
Но, если соответсвующая запись не найдена прога производит расчет с какой то записью с тб1.
Так вот что я хотел спросить, Мастера, как сделать чтобы при случае, когда не найдена запись прога выдавала сообщение что такой записи нет или просто оставить эту запись пустой
Использую компоненты table, datasource, dbgrid
← →
Sandman25 © (2004-09-24 09:47) [1]Locate - функция. Подробнее в help
← →
Johnmen © (2004-09-24 09:48) [2]if Locate(...
← →
Johnmen © (2004-09-24 09:58) [3]А ещё лучше
UPDATE TB2 SET obsh=zn1*(SELECT TB1.dobicha FROM TB1 WHERE TB1.kod_1=TB2.kod_1 AND TB1.kod_2=TB2.kod_2 AND TB1.kod_3=TB2.kod_3)
← →
Sandman25 © (2004-09-24 09:59) [4][3] Johnmen © (24.09.04 09:58)
+ WHERE EXISTS (..)
Чтобы нуллами не затереть.
← →
Johnmen © (2004-09-24 10:04) [5]>Sandman25 © (24.09.04 09:59) [4]
Ну это от логики зависит. Мне кажется, нулл д.забиваться.
>>...или просто оставить эту запись пустой
← →
Sandman25 © (2004-09-24 10:05) [6]Согласен, не заметил.
← →
Роман Снегирев (2004-09-24 10:13) [7]проверка
Страницы: 1 вся ветка
Текущий архив: 2004.10.24;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.035 c