Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
14-1097135766
Mike Kouzmine
2004-10-07 11:56
2004.10.24
Скончался Морис Уилкинс


14-1096545927
Александр Иванов
2004-09-30 16:05
2004.10.24
Нужна консультация врача


1-1097152691
sergg
2004-10-07 16:38
2004.10.24
Свойства КомбоБокс


1-1097500696
XYZ
2004-10-11 17:18
2004.10.24
MDIChild - формы


6-1092912367
Эдик
2004-08-19 14:46
2004.10.24
TClientSocket разрыв соединения




   Наверх