Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2009, 15:54   #1
Sergius X
Пользователь
 
Регистрация: 21.04.2009
Сообщений: 50
По умолчанию Как посчитать дни?

Привет, знатоки! Подскажите, какой код можно написать чтобы он дату отнимал от даты и получил какой то срок в днях???
Я написал вот так, но надо дополнить (или вообще написать другое):

Код:
procedure TDM.QSpisanieCalcFields(DataSet: TDataSet);
begin
 QSpisanieFact_sroc_ecspl.Value := QSpisanieData_spisania._______ - QSpisanieData_postuplenia.________;
end;
QSpisanie - это Query;
Fact_sroc_ecspl(фактический срок эксплуатации) - это надо посчитать;
Data_spisania(Дата списания) - от неё отнимаем;
Data_postuplenia(Дата поступления) - её отнимаем;
_______ - а тут я не знаю какой тип ставить.
Помогите кто чем может...
$ergius
Sergius X вне форума Ответить с цитированием
Старый 22.04.2009, 19:25   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) я бы рекомендовал вычислять количество дней ещё на этапе SQL запроса (зачем дёргать вычисляемые поля без крайней надобности)
2) если у Вас Дата списания/ Дата Поступления - типа Datatime
тогда попробуйте так:
Код:
QSpisanieFact_sroc_ecspl.Value := trunc(QSpisanieData_spisania.AsDatetime) - trunc(QSpisanieData_postuplenia.AsDatetime);
p.s. поле QSpisanieFact_sroc_ecspl должно быть Integer
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.05.2009, 15:38   #3
Sergius X
Пользователь
 
Регистрация: 21.04.2009
Сообщений: 50
По умолчанию

Спасибо, прокатило.
И еще у меня есть подобная задачка. Надо от текущей даты отнять имеющуюся.
Помогите осуществить...
$ergius
Sergius X вне форума Ответить с цитированием
Старый 03.05.2009, 18:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
trunc(Now) - trunc(QИмеющаяся_дата.AsDatetime)
p.s. имхо, всё же Вы напрасно не хотите сделать подобные вычисления в самом запросе (на SQL)...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.05.2009, 17:15   #5
Sergius X
Пользователь
 
Регистрация: 21.04.2009
Сообщений: 50
По умолчанию

Спасибо за помощь.

P.S. уже сделал так...
$ergius
Sergius X вне форума Ответить с цитированием
Старый 26.05.2009, 16:12   #6
Sergius X
Пользователь
 
Регистрация: 21.04.2009
Сообщений: 50
По умолчанию

А еще ни кто не скажет как полученные дни можно перевести в года?
Кстати дайте пожалуйста описание вот этому - "trunc", а то пользуюсь и не знаю чем
$ergius

Последний раз редактировалось Sergius X; 26.05.2009 в 16:20.
Sergius X вне форума Ответить с цитированием
Старый 26.05.2009, 18:15   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А вы скачайте себе книжку какую-нибудь по Дельфи для начинающих (первой темой каждого раздела идет литература) и куча вопросов отпадет.
Методом тыка программировать не научишься...
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как посчитать среднее арифметическое значение CraZZy RabbIt Общие вопросы Delphi 5 14.03.2009 13:59
как посчитать даты по порядку? Vorchun Microsoft Office Excel 4 27.11.2008 21:32
Как посчитать Kovalenko.lokal БД в Delphi 16 07.05.2008 17:50
Как посчитать сумму в столбце таблицы? Иллидан Microsoft Office Word 1 15.04.2008 21:30
Как посчитать матрицу? RECREATOR Помощь студентам 8 30.11.2007 07:10