Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.49 MB
Время: 0.007 c
4-48378
VJar
2002-06-08 12:07
2002.08.15
Получение адресов папок


3-47926
sergey32
2002-07-24 18:27
2002.08.15
Обратная нотификация


6-48237
mifi
2002-06-02 22:11
2002.08.15
получение IP адреса


1-48182
Vladislav
2002-08-02 16:10
2002.08.15
Как переключиться на приложение.


1-48203
ghg
2002-08-01 08:02
2002.08.15
Работа со строками





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский