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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2016, 10:56   #31
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
'select OborudovanieID from Oborudovanie where '+inttostr(MonthsBetween(Date,DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime))+'<=2'
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.03.2016, 11:03   #32
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

А здесь?
Код:
inttostr(Int(DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime)+'>='+Int(Date)-7
Ernest027 вне форума Ответить с цитированием
Старый 03.03.2016, 11:12   #33
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

НЕ БОЙТЕСЬ "лишних" переменных. С ними программы писать гораздо легче.
Код:
d:=DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime;
inttostr(Int(d)+'>='+Int(Date)-7
?????????????????
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 03.03.2016 в 11:18.
evg_m вне форума Ответить с цитированием
Старый 03.03.2016, 11:18   #34
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

все равно ошибки
Ernest027 вне форума Ответить с цитированием
Старый 03.03.2016, 11:23   #35
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

пишет
"there is no overloaded 'InttoStr'..." здесь inttostr(Int(d)
"there is no overloaded 'InttoStr'..." и здесь Int(Date)-7
Ernest027 вне форума Ответить с цитированием
Старый 03.03.2016, 11:26   #36
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
все равно ошибки
так я просто напросто разбил ВАШУ строку на две и все. Ошибки я не исправлял!!! Надеялся что в короткой строке вы их найдете и исправите сами.
Ну тогда делим дальше. И опять я не исправляю ошибки!!!
Код:
r:=int(d) +'>=' +Int(Date) -7; // тип переменной r найдите САМИ (как средство исправления ошибок)
Inttostr(r);
ИЛИ Вам надо было ЧТО-ТО Другое ? так напишите это другое.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 03.03.2016 в 11:32.
evg_m вне форума Ответить с цитированием
Старый 03.03.2016, 11:33   #37
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
inttostr(Int(DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime))+'>='+inttostr(Int(date)-7)
Ernest027 вне форума Ответить с цитированием
Старый 03.03.2016, 11:39   #38
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
inttostr(Int(DataModule2.ADOQuery3. FieldByName('Дата следующих замеров').AsDateTime))+'>='+inttost r(Int(date)-7)
да от этой строки мы уже пришли к
Код:
d:=DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime;
inttostr(Int(d))+'>='+inttostr(Int(date)-7)
Код:
d:=DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime;
r:=Int(d))+'>='+inttostr(Int(date)-7;
inttostr(r);
ВЫ можете ОБЪЯСНИТЬ смысл этого ВАШЕГО кода ?!
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 03.03.2016, 11:48   #39
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

если разница между текущей и "Датой следующих замеров" = -7 то ...
Это нужно на случай, если после "Даты следующих замеров" прошло 7 дней.
Ernest027 вне форума Ответить с цитированием
Старый 03.03.2016, 12:01   #40
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
да от этой строки мы уже пришли к
Код:
d:=DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime;
inttostr(Int(d))+'>='+inttostr(Int(date)-7)
Код:
d:=DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime;
r:=Int(d))+'>='+inttostr(Int(date)-7;
inttostr(r);
ВЫ можете ОБЪЯСНИТЬ смысл этого ВАШЕГО кода ?!
ну не хочет человек вникать

Цитата:
Сообщение от Ernest027 Посмотреть сообщение
А здесь?
Код:
inttostr(Int(DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime)+'>='+Int(Date)-7
inttostr не подходит так как функция Int имеет не целочисленное значение
либо inttostr заменяете на FloatToStr либо int на
Trunc
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL запрос Tanushka=) SQL, базы данных 2 23.05.2011 17:09
Запрос в SQL Анн Помощь студентам 2 16.12.2010 19:51
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15