Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.05.2012, 21:42
Tolabzik Tolabzik вне форума
Прохожий
 
Регистрация: 18.05.2012
Сообщения: 28
Репутация: 10
По умолчанию запрос в аксессе

Добрый.такой вопрос.запрос в аксессе работает нормально .
предлагает задать переменные и выводит результат.
а в делфи выводит пустое окно с полями из запроса,а результата нету.
подозреваю что с типом параметров что то .
код стоит на адо квери

SELECT 'Всего новых клиентов' AS wer, Count(Договор.[Номер договора]) AS [Count-Номер договора]
FROM Договор
WHERE (((Договор.[дата начала]) Between :1 And :2))
GROUP BY 'Всего новых клиентов';
UNION SELECT 'Заявок принятно' AS wer, Count([Копия Обращения].[Номер записи]) AS [Count-Номер записи]
FROM [Копия Обращения]
WHERE ((([Копия Обращения].[дата обращения]) Between :1 And :2))
GROUP BY 'Заявок принятно';
UNION SELECT [Виды Услуг].название, Count(Договор.[Номер договора]) AS [Count-Номер договора]
FROM [Виды Услуг] LEFT JOIN Договор ON [Виды Услуг].[номер услуги] = Договор.[вид услуги]
WHERE (((Договор.[дата начала]) Between :1 And :2))
GROUP BY [Виды Услуг].название;


на батон код
form12.qry1.Active:=false;
form12.qry1.Parameters[1].Value:=edt1.text;
form12.qry1.Parameters[2].Value:=edt2.Text;
form12.qry1.Active:=true;

где что подркрутить подскажите..
с дата соурос нормально содинено .в дб грид другие простые запросы выводил нормально .
Ответить с цитированием
  #2  
Старый 21.05.2012, 21:44
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Тип параметра попробуй указать.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 21.05.2012, 21:54
Tolabzik Tolabzik вне форума
Прохожий
 
Регистрация: 18.05.2012
Сообщения: 28
Репутация: 10
По умолчанию

там стаит widestring
а какой надо ?
Ответить с цитированием
  #4  
Старый 21.05.2012, 21:58
Tolabzik Tolabzik вне форума
Прохожий
 
Регистрация: 18.05.2012
Сообщения: 28
Репутация: 10
По умолчанию

ставил datatime тоже самое выдает
Ответить с цитированием
  #5  
Старый 21.05.2012, 22:01
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Имя параметра указано? В запросе точно ошибок нет?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 21.05.2012, 22:08
Tolabzik Tolabzik вне форума
Прохожий
 
Регистрация: 18.05.2012
Сообщения: 28
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Имя параметра указано? В запросе точно ошибок нет?
специально зделал попроше имя 1 и 2 что бы не спутаться.в аксесе запрос работает нормально
Ответить с цитированием
  #7  
Старый 21.05.2012, 22:13
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Нумерация обычно идет с нуля. или у тебя там >= 3 параметра?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 21.05.2012, 22:21
Tolabzik Tolabzik вне форума
Прохожий
 
Регистрация: 18.05.2012
Сообщения: 28
Репутация: 10
По умолчанию

Ответить с цитированием
  #9  
Старый 22.05.2012, 06:09
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Придется тебе так делать:
Код:
SELECT 'Всего новых клиентов' AS wer, Count(Договор.[Номер договора]) AS [Count-Номер договора]
FROM Договор
WHERE (((Договор.[дата начала]) Between :1 And :2))
GROUP BY 'Всего новых клиентов';
UNION SELECT 'Заявок принятно' AS wer, Count([Копия Обращения].[Номер записи]) AS [Count-Номер записи]
FROM [Копия Обращения]
WHERE ((([Копия Обращения].[дата обращения]) Between :3 And :4))
GROUP BY 'Заявок принятно';
UNION SELECT [Виды Услуг].название, Count(Договор.[Номер договора]) AS [Count-Номер договора]
FROM [Виды Услуг] LEFT JOIN Договор ON [Виды Услуг].[номер услуги] = Договор.[вид услуги]
WHERE (((Договор.[дата начала]) Between :5 And :6))
GROUP BY [Виды Услуг].название;
...
form12.qry1.Active:=false;
form12.qry1.Parameters.ParamByName('1').Value:=edt1.text;
form12.qry1.Parameters.ParamByName('2').Value:=edt2.text;
form12.qry1.Parameters.ParamByName('3').Value:=edt1.text;
form12.qry1.Parameters.ParamByName('4').Value:=edt2.text;
form12.qry1.Parameters.ParamByName('5').Value:=edt1.text;
form12.qry1.Parameters.ParamByName('6').Value:=edt2.text;
form12.qry1.Active:=true;

P.S. Тип у параметров должен быть ftString!
__________________
Google в помощь
Ответить с цитированием
Этот пользователь сказал Спасибо Ildar-tsr за это полезное сообщение:
Tolabzik (22.05.2012)
  #10  
Старый 22.05.2012, 08:06
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Ildar-tsr
P.S. Тип у параметров должен быть ftString!
ВайдСтринг и Стринг там ща разные?
Добавил 300 наносекунд спустя
Ааа... пардон, дельфи 7.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #11  
Старый 22.05.2012, 09:57
Tolabzik Tolabzik вне форума
Прохожий
 
Регистрация: 18.05.2012
Сообщения: 28
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ildar-tsr
Придется тебе так делать:
Код:
SELECT 'Всего новых клиентов' AS wer, Count(Договор.[Номер договора]) AS [Count-Номер договора]
FROM Договор
WHERE (((Договор.[дата начала]) Between :1 And :2))
GROUP BY 'Всего новых клиентов';
UNION SELECT 'Заявок принятно' AS wer, Count([Копия Обращения].[Номер записи]) AS [Count-Номер записи]
FROM [Копия Обращения]
WHERE ((([Копия Обращения].[дата обращения]) Between :3 And :4))
GROUP BY 'Заявок принятно';
UNION SELECT [Виды Услуг].название, Count(Договор.[Номер договора]) AS [Count-Номер договора]
FROM [Виды Услуг] LEFT JOIN Договор ON [Виды Услуг].[номер услуги] = Договор.[вид услуги]
WHERE (((Договор.[дата начала]) Between :5 And :6))
GROUP BY [Виды Услуг].название;
...
form12.qry1.Active:=false;
form12.qry1.Parameters.ParamByName('1').Value:=edt1.text;
form12.qry1.Parameters.ParamByName('2').Value:=edt2.text;
form12.qry1.Parameters.ParamByName('3').Value:=edt1.text;
form12.qry1.Parameters.ParamByName('4').Value:=edt2.text;
form12.qry1.Parameters.ParamByName('5').Value:=edt1.text;
form12.qry1.Parameters.ParamByName('6').Value:=edt2.text;
form12.qry1.Active:=true;

P.S. Тип у параметров должен быть ftString!

спасибо.заработало даже без изменения типа.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:24.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter