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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2008, 14:43   #1
ivp88
Пользователь
 
Регистрация: 14.02.2007
Сообщений: 28
Восклицание Подсчёт кол-ва дней

Здравствуйте ....если кто сталкивался с такой проблемкой...... у меня в поле вставляется автоматически дата дд.мм.гггг ..... скажите как мне подсчитать кол-во дней при прошевтвию опеределенного времени ............... ????
ivp88 вне форума Ответить с цитированием
Старый 12.01.2008, 15:17   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
Лампочка

Функция DaysBetween вычитает FromDate из ToDate, возвращая разность в целых днях.
Код:
uses DateUtils;
var
fromdate, toDate : TDateTime;

begin
  // Установка наших переменных дат
  fromDate := EncodeDateTime(2000, 02, 26, 10, 0, 0, 0);
  toDate   := EncodeDateTime(2000, 02, 29,  9, 0, 0, 0);

  // Отображение этих дат и дней между ними
  ShowMessage('С даты = '+DateTimeToStr(fromDate));
  ShowMessage('До даты = '+DateTimeToStr(toDate));
  ShowMessage('Целых дней = '+
              IntToStr(DaysBetween(toDate, fromDate))+' дней');
end;
Результат:
С даты = 26/02/2000 10:00:00
До даты = 29/02/2000 09:00:00
Целых дней = 2 дней

Примечания
Целый день не должен начинаться с 00:00:00.
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 12.01.2008, 17:31   #3
ivp88
Пользователь
 
Регистрация: 14.02.2007
Сообщений: 28
По умолчанию

спасиб конечно но ничего не понял...мне нужно чтоб результат отображался в отдельном поле......
ivp88 вне форума Ответить с цитированием
Старый 12.01.2008, 19:00   #4
ivp88
Пользователь
 
Регистрация: 14.02.2007
Сообщений: 28
По умолчанию

ООООООй ПАРДОН я забыл подключить модуль DateUtils;
var s, d: integer;
fromdate, toDate : TDateTime;
begin
fromDate :=StrToDate(TableVVVidacha.FieldByN ame('DataVidachi').AsString) ;
toDate := now;
d:=DaysBetween(toDate, fromDate);
Edit7.Text:=IntToStr( d);
end;
ivp88 вне форума Ответить с цитированием
Старый 12.01.2008, 19:39   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

TDateTime представляет собой число с плавающей запятой.
Дробная часть - время, целая - дата.
Делая простое вычитание целых, получите разницу в днях.
Приведите конкретный пример дат, разницу между которыми вам нужно получить (не забудьте указать форматы исходных данных), мы этот пример разберем.

Последний раз редактировалось mihali4; 12.01.2008 в 19:41.
mihali4 вне форума Ответить с цитированием
Старый 13.01.2008, 07:32   #6
ivp88
Пользователь
 
Регистрация: 14.02.2007
Сообщений: 28
По умолчанию

у меня в таб. Выдача[ ID_выдачи, Инвен.№книги,Назв.кн-ги, ID_читат,дата выдачи], .... мне нужно вывести читателей держащих книгу более месяца......я создал вычисляемое поле Dni ...но при запросе
SELECT DISTINCT * FROM Vidacha WHERE dni>30 и выходит ошибка "invalid field name dni "
ivp88 вне форума Ответить с цитированием
Старый 13.01.2008, 14:49   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Во-первых, вычисляемое поле не может участвовать в сиквел-запросе!
Во-вторых, структура полей вашей таблицы - без надобности. Скажите просто тип поля для даты выдачи.
Хотя и без этого тоже попробуем обойтись.
Попробуйте
tmp:=FormatDateTime('dd.mm.yyyy',No w+30);
...SQL.Text:='SELECT DISTINCT * FROM Vidacha WHERE дата_выдачи>'+QuotedStr(tmp);
Думаю, погрешность в 1 день (если в текущем месяце 31 день) вас не волнует, иначе - введите коррекцию.
mihali4 вне форума Ответить с цитированием
Старый 14.01.2008, 09:16   #8
ivp88
Пользователь
 
Регистрация: 14.02.2007
Сообщений: 28
По умолчанию

тип поля с датой - Date.....
ivp88 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчёт непустых клеток mik Microsoft Office Excel 7 27.10.2007 13:40
Подсчёт трафика с сайта Маркъ Работа с сетью в Delphi 3 25.09.2007 10:06
Подсчёт трафика Альберт Работа с сетью в Delphi 2 10.09.2007 11:35
Подсчёт русских букв в строках файла гера Помощь студентам 1 25.04.2007 01:19
Подсчёт кол-ва единиц в столбце Freddie_X Microsoft Office Excel 3 10.03.2007 09:38