Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

ADO   Найти похожие ветки 

 
Vikuksa ©   (2002-07-24 16:23) [0]

Подскажите кто знает!
Работаю с базой *.mdb. В MS Access создаю запрос, его результат 29 записей.
Перенашу этот запрос в ADOQuery, активизирую, а он (гад) ни одной записи не возвращает!


 
Johnmen ©   (2002-07-24 16:29) [1]

А Open делаешь ?


 
Vikuksa ©   (2002-07-24 16:31) [2]

обижаешь! не такая я уж и дурочка...


 
LordOfSilence ©   (2002-07-24 16:33) [3]

Вика, необходимо указать какой у Вас Access, приведите текст запроса, есть ли у него параметры, то есть опишите подробней свою проблему


 
Vikuksa ©   (2002-07-24 16:37) [4]

Access"97.
Параметров нет, а так обычный запрос на выборку:

SELECT DatePart("ww",s.Дата_поступления),Count(s.Дата_поступления)
FROM Входящие s
WHERE ((s.Входящий_кому="10") AND (s.Содержание Like "*отчет*") AND (s.Год=Year(Date())
AND (DatePart("ww",s.Дата_поступления) Is Not Null) AND
(DatePart("ww",s.Дата_поступления)<DatePart("ww",DateAdd("w",-1,Date())))=True))
GROUP BY DatePart("ww",s.Дата_поступления);


 
Johnmen ©   (2002-07-24 16:43) [5]

Надо бы избавиться от русских имен,
или брать их в кавычки...


 
Vikuksa ©   (2002-07-24 16:45) [6]

Избавиться не получиться.


 
LordOfSilence ©   (2002-07-24 16:56) [7]

1. Попробуйте сделать по-другому. Не пишите все это в свойстве
SQL копонента TQuery. Ваш запрос ведь как-то называется
в среде Access, например "MyQuery". Вот и напишите
Select * from MyQuery. Не гарантирую, но попробуйте.
Я так понимаю, что Вы используете чисто Аксесовские функции
DatePart и т.д. Вот пусть сам с ними и разбирается.
Пардон, если даю неправильную наводку.
2. Лично мое мнение, не претендующее на какую-либо бесспорность:
никогда не именуйте таблицы и поля русскими символами.


 
sniknik ©   (2002-07-24 17:01) [8]

еще возможно формат даты не совпадает со стандартом Access-а. если дату строкой писать надо в таких кавычках ##. но лутше через параметр.
(у тебя дата в условии, проверь что на выходе получается)


 
Vikuksa ©   (2002-07-24 17:03) [9]

LordOfSilence: спасибо так уже пробовала!
А база не моя и под нее много прог написано поэтому названия уже не поменять!


 
Vikuksa ©   (2002-07-24 17:32) [10]

ЛЛЛЛЛЛЛЛЛЛЮЮЮЮЮЮЮЮЮДДДДДДДДИИИИИИИИИИИ!!!!!! Дайте еще пару советиков, плз!


 
Delirium ©   (2002-07-24 17:34) [11]

Все русские названия - в квадратные скобки:
SELECT DatePart("ww",s.[Дата_поступления]),Count(s.[Дата_поступления])
FROM [Входящие] s
WHERE ((s.[Входящий_кому]="10") AND (s.[Содержание] Like "*отчет*") AND (s.[Год]=Year(Date())
AND (DatePart("ww",s.[Дата_поступления]) Is Not Null) AND
(DatePart("ww",s.[Дата_поступления])<DatePart("ww",DateAdd("w",-1,Date())))=True))
GROUP BY DatePart("ww",s.[Дата_поступления]);


 
Vikuksa ©   (2002-07-24 17:39) [12]

НЕПОЛУЧААААААААЕЕЕЕЕЕТТТССССССЯЯЯЯЯЯЯ!!!!!!!


 
LordOfSilence ©   (2002-07-24 17:43) [13]

Пардон, а скобки точно расставлены по своим местам?
Может что-то пропустили при переносе?
И что такое X<Y=True? Это я про сравнение частей дат.
Может достаточно просто DatePart(X)<DatePart(Y)?


 
Johnmen ©   (2002-07-24 17:50) [14]

Группировка м.б. только по совокупности полей !


 
Delirium ©   (2002-07-24 17:52) [15]

> LordOfSilence
"И что такое X<Y=True? Это я про сравнение частей дат.
Может достаточно просто DatePart(X)<DatePart(Y)?"
Для ACCESS это не важно

> Vikuksa

Проверь запрос в самом ACCESS



 
Vikuksa ©   (2002-07-24 17:53) [16]

Сам запрос правильный, честное слово!


 
Vikuksa ©   (2002-07-24 17:54) [17]

проверяла в Accesse


 
Delirium ©   (2002-07-24 17:56) [18]

> Vikuksa

Дай код из Delphi как заполняешь ADOQuery.SQL, может где-то ковычки пропустила...


 
Vikuksa ©   (2002-07-24 18:00) [19]

ADOQuery1.Active := false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("SELECT DatePart("ww",[Входящие].[Дата_поступления]), Count(s.[Дата_поступления]) ");
ADOQuery1.SQL.Add("FROM [Входящие] s ");
ADOQuery1.SQL.Add("WHERE (((s.[Входящий_кому])="10") AND ((s.[Содержание]) Like "*отчет*") AND ");
ADOQuery1.SQL.Add("((s.[Год])=Year(Date())) AND ((DatePart("ww",s.[Дата_поступления])) Is Not Null) AND ((DatePart("ww",s.[Дата_поступления])<DatePart("ww",DateAdd("w",-1,Date())))=True)) ");
ADOQuery1.SQL.Add("GROUP BY DatePart("ww",s.[Дата_поступления])");
ADOQuery1.Open;
ADOQuery1.Last; ADOQuery1.First;


 
sniknik ©   (2002-07-24 18:24) [20]

не жаль трафика на качание скачай прогу http://delphi.mastak.ru/download/585.zip и попробуй запрос в ней, прога именно для тестов запросов через адо предназначалась. там хоть ошибку скажет если есть.

(не сочти саморекламой :-),тем более у проги есть небольшой глюк при запросе в несколько строк строки должны оканчиватся пробелом, (уже исправлено но здесь еще старый вариант))


 
ПИТОН   (2002-07-25 05:55) [21]

Сделай ADOTable и в качестве TableName укажи имя своего запроса



Страницы: 1 вся ветка

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
6-48224
ole
2002-06-01 07:45
2002.08.15
Отключение клиента TClientSocket.


1-48101
xerox
2002-08-05 13:27
2002.08.15
Подскажите как можно увеличить или уменьшить изображение


14-48262
doroshka
2002-07-17 19:15
2002.08.15
Посоветуйте компонент или как сделать, чтоб в меню прятались...


3-47929
satin
2002-07-25 12:32
2002.08.15
ADO. Некритичная но непонятная ошибка.


3-47993
SuperVK
2002-07-24 07:00
2002.08.15
TQuery : 9479 -