Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO [D5]


Страницы:   1 2

Vikuksa ©   (2002-07-24 16:23:00) 

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


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

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


sniknik   (2002-07-24 18:24:00) [2]

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

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


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

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;


Delirium   (2002-07-24 17:56:00) [4]

> Vikuksa

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


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

проверяла в Accesse


Vikuksa   (2002-07-24 17:53:00) [6]

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


Delirium   (2002-07-24 17:52:00) [7]

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

> Vikuksa

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


Johnmen   (2002-07-24 17:50:00) [8]

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


LordOfSilence   (2002-07-24 17:43:00) [9]

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


Vikuksa   (2002-07-24 17:39:00) [10]

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


Delirium   (2002-07-24 17:34:00) [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:32:00) [12]

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


Vikuksa   (2002-07-24 17:03:00) [13]

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


sniknik   (2002-07-24 17:01:00) [14]

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


LordOfSilence   (2002-07-24 16:56:00) [15]

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


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

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


Johnmen   (2002-07-24 16:43:00) [17]

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


Vikuksa   (2002-07-24 16:37:00) [18]

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.Дата_поступления);


LordOfSilence   (2002-07-24 16:33:00) [19]

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


Vikuksa   (2002-07-24 16:31:00) [20]

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо