![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несоответствие типов данных [D7, Access]
Caesar © (2003-05-19 10:43:00)Помогите! Пишу вроде простой запрос:
SELECT Model, First(Proisvod) AS Proisvod, Min(Date) AS MinDate, Max(Date) AS MaxDate, Sum(Count) AS SumCount, First(Type) AS Type, First(Pogr) AS Pogr
FROM Spravka WHERE (Id_Oper = 8) AND (Spravka.DateProv BETWEEN "01.01.2003" AND "01.05.2003") GROUP BY Model ORDER BY Model
Выдается ошибка: "Несоответствие типов данных в выражении условия отбора" Вроде с типами данных ничего не напутал! В чем может быть дело?
Caesar (2003-05-19 11:33:00) [1]Victor_Cr: Нет! Тут дело было вовсе не в пробеле! Просто дата записывается в формате #01/01/2003# и всё! А FROM слово зарезервированное и пробел никакой не был нужен! Если было так выдало бы синтаксическую ошибку=)))
Victor_Cr (2003-05-19 11:15:00) [2]Результатом выполнения таких строк:
QueryReport.SQL.Add("SELECT Model, First(Proisvod) AS Proisvod, Min(Date) AS MinDate, Max(Date) AS MaxDate, Sum(Count) AS SumCount, First(Type) AS Type, First(Pogr) AS Pogr");
QueryReport.SQL.Add("FROM Spravka WHERE (Id_Oper =");
Будет строка
"SELECT Model, First(Proisvod) AS Proisvod, Min(Date) AS MinDate, Max(Date) AS MaxDate, Sum(Count) AS SumCount, First(Type) AS Type, First(Pogr) AS PogrFROMSpravka WHERE (Id_Oper =
Пробел нужен...
Caesar (2003-05-19 11:14:00) [3]Получилось=) Спасибо!
Соловьев (2003-05-19 10:59:00) [4]
> Кто нибудь поможет?
ответы почему не читаешь?
тебе же написали про параметры. sniknik © (19.05.03 10:48)
Mike Kouzmine (2003-05-19 10:58:00) [5]А попробуй параметры
Caesar (2003-05-19 10:56:00) [6]Вообще выглядит так:
QueryReport.SQL.Clear;
QueryReport.SQL.Add("SELECT Model, First(Proisvod) AS Proisvod, Min(Date) AS MinDate, Max(Date) AS MaxDate, Sum(Count) AS SumCount, First(Type) AS Type, First(Pogr) AS Pogr");
QueryReport.SQL.Add("FROM Spravka WHERE (Id_Oper =");
str:= (ListOper.KeyValue);
QueryReport.SQL.Add(str);
QueryReport.SQL.Add(") AND (Spravka.DateProv BETWEEN");
Date:= #39 + DateMin + #39 + "AND"+ #39 + DateMax + #39 + ")";
QueryReport.SQL.Add(Date);
QueryReport.SQL.Add(" GROUP BY Model ORDER BY Model");
QueryReport.Open;
Кто нибудь поможет?
Caesar (2003-05-19 10:54:00) [7]Geka к этой ошибке отношения не имеет=)
Caesar (2003-05-19 10:52:00) [8]Понятно что в датах=) но "01/01/2003" не прочодит(:
Geka (2003-05-19 10:51:00) [9]Min(Date) - поле лучше Date не называть...
sniknik (2003-05-19 10:48:00) [10]в датах, дело может быть в датах. с ними вобще лутше работать через параметры.
потому что может быть различное представление в зависимости от параметров, возможно у тебя пройдет "01/01/2003" (а может и нет).