![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы по DBF [D5, dBase, FoxPro]
Marina © (2004-09-15 13:28:00)Здравствуйте, Мастера!
У меня две проблемы по DBF:
1) В таблице есть поле "Date". Как по нему сделать запрос, если это слово является зарезервированным в SQL? Переименовать поле нельзя.
Делаю запрос в DataBase Desktop: select Date from "Sales.DBF", выдает сообщение: Invalid use of keyword
2) Делаю запрос:
select ListNo, sum(Amount) from "Sales.DBF"
group by ListNo
Выдает сообщение "Operation not applicable". В чем ошибка?
В поле "Amount" находятся суммы, это числовое поле с двумя десятичными знаками. Таблица в формате dBase IV.
Sergey13 (2004-09-15 16:10:00) [1]Просто мысли вслух, может и фигня.
А нет ли в поле какой нить дряни (залетело при сбое каком нить например)? Если попробовать например индекс по нему создать, что будет?
sniknik (2004-09-15 16:10:00) [2]> Что интересно, создала точно такую же таблицу (те же поля, язык, формат), ввела несколько записей - выборка сумм по ListNo работает!
> А из родной таблицы не хочет.
может версия таблицы очень старая (формат)? или банально у нее атрибут ридонли, и дальнейших проверок BDE не делает...
в общем действительно х.з.
Marina (2004-09-15 16:04:00) [3]
> select ListNo, sum(Amount) from "Sales.DBF" A
> group by A.ListNo
Результат тот же.
> select ListNo, sum(Amount) from "Sales.DBF"
> group by 1
Выдает: "Capability not supported"
> проверь тип ListNo не строка?, и есть ли индекс по этому
> полю. также настройки, куда пишутся темповые файлы (куда
> выборка и временные индексы сохраняются), не заблокирована
> ли директория.
ListNo - числовое поле, индексов в таблице нет. Что интересно, создала точно такую же таблицу (те же поля, язык, формат), ввела несколько записей - выборка сумм по ListNo работает! А из родной таблицы не хочет. Пробовала еще выполнить упаковку таблицы - результат тот же. Какая-то чертовщина...
sniknik (2004-09-15 15:01:00) [4]> А как по 2-й проблеме?
х.з. в BDE не шибко разбираюсь
но можеш проверить
select ListNo, sum(Amount) from "Sales.DBF" A
group by A.ListNo
select ListNo, sum(Amount) from "Sales.DBF"
group by 1
проверь тип ListNo не строка?, и есть ли индекс по этому полю. также настройки, куда пишутся темповые файлы (куда выборка и временные индексы сохраняются), не заблокирована ли директория.
Marina (2004-09-15 14:41:00) [5]
> select "Sales.DBF"."Date" from "Sales.DBF"
Да, работает, спасибо!
А как по 2-й проблеме? Попробовала сделать простой запрос:
select sum(Amount) from "Sales.DBF" - работает.
sniknik (2004-09-15 14:14:00) [6]select "Sales.DBF"."Date" from "Sales.DBF"
раз у тебя BDE, предупреждать кстати надо.
Marina (2004-09-15 14:09:00) [7]
> - переименовать Date, или
Переименовать, к сожалению, нельзя.
> - select [Date] from "Sales.DBF"
Все равно DataBase Desktop выдает ошибку.
Rem (2004-09-15 14:00:00) [8]>>Делаю запрос в DataBase Desktop: select Date from "Sales.DBF", выдает сообщение: Invalid use of keyword
- переименовать Date, или
- select [Date] from "Sales.DBF"