Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.041 c
14-1096646698
asdqwer
2004-10-01 20:04
2004.10.24
Темы


1-1097067854
mRodion
2004-10-06 17:04
2004.10.24
Свойства с индексами


1-1097402705
acsoft
2004-10-10 14:05
2004.10.24
Не вкладывать в EXE иконку.


3-1096295809
Rostislav Rotaru
2004-09-27 18:36
2004.10.24
Полный бэкап базы


14-1096660435
Ломброзо
2004-10-01 23:53
2004.10.24
Потоки?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский