Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с расчетами!!! [D6, dBase, FoxPro]


janb ©   (2004-09-24 09:45:00) 

Имеются таблицы: таблица справочника тб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


Роман Снегирев   (2004-09-24 10:13:00) [1]

проверка


Sandman25   (2004-09-24 10:05:00) [2]

Согласен, не заметил.


Johnmen   (2004-09-24 10:04:00) [3]

>Sandman25 ©   (24.09.04 09:59) [4]

Ну это от логики зависит. Мне кажется, нулл д.забиваться.
>>...или просто оставить эту запись пустой


Sandman25   (2004-09-24 09:59:00) [4]

[3] Johnmen ©   (24.09.04 09:58)

+ WHERE EXISTS (..)
Чтобы нуллами не затереть.


Johnmen   (2004-09-24 09:58:00) [5]

А ещё лучше
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)


Johnmen   (2004-09-24 09:48:00) [6]

if Locate(...


Sandman25   (2004-09-24 09:47:00) [7]

Locate - функция. Подробнее в help


Наверх

Титульная страница Поиск, карта сайта Написать письмо