Форум: "Базы";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c