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

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

---|Ветка была без названия|---


DBer ©   (2002-11-23 11:13:00) 

Имеются БД под Access из двух таблиц (вчера пытался сделать на Paradox, не получилось)

пишу в TQuery1.SQL
INSERT INTO Table2 ( [month], [year], SIncome )
SELECT [month], [year], sum([Income])
FROM Table1
GROUP BY [Month], [year];
В Access"e этот запрос отлично срабатывает, а в Delphi говорит
сабж.
В чем дело?


DBer   (2002-11-23 13:31:00) [1]

ЮЮ!
Большое спасибо!!!
Все получилось, значит проблема действительно была в СУБД.
Просто когда я начинал эту ДБ делать я в Access"e вообще не разбирался, а потом не охота было возиться с переводом (не знал что это так просто:))


DBer   (2002-11-23 13:04:00) [2]

Народ, спасибо!
Сейчас пойду пообедаю, потом протестирую


Anatoly Podgoretsky   (2002-11-23 12:41:00) [3]

А чем в ручную (с помозью запросов, сканирования таблицы) не устраивает, ну тогда с Дельфи поставляется какой то DataPump как раз для этой цели.


ЮЮ   (2002-11-23 12:40:00) [4]

Файл > Внешние данные > Импорт (в Access-е, конечно)


DBer   (2002-11-23 12:34:00) [5]

Е мое,
а можно как-нибудь перевести БД из Paradox"a в Access (кроме как в ручную)


ЮЮ   (2002-11-23 12:20:00) [6]

GROUP BY это уже не простой запрос. INSERT может брать поля только из таблицы, а ты хочешь из агрегирующего запроса


DBer   (2002-11-23 12:19:00) [7]

Народ, ну помогите, плизззз


DBer   (2002-11-23 11:58:00) [8]

Но я то использую
single SELECT statement


ЮЮ   (2002-11-23 11:55:00) [9]

Потому, что Paradox - это Local SQL, с очень ограниченными возможностями:
Note: The INSERT statement can use a single SELECT statement as the source for the new rows, but not multiple statements joined with UNION. To do that, save the UNION join statement to a .SQL file and use that file in the INSERT statement. See Local SQL VIEWs for more information on using .SQL files.

, а Access - это MicroSoft


DBer   (2002-11-23 11:30:00) [10]

Ой, ну я тормоз, просто создаю дополнительную таблицу и все...
Спасибо большое.
Дело в том, что у меня БД для Paradox"a написана, это я просто экспериментировал.
Ты не знаешь почему под Paradox не работает?


DBer   (2002-11-23 11:26:00) [11]

Ошибку он теперь не выдает, но ведь база таблица тогда не активна если Query1.active=false


Mike_Goblin   (2002-11-23 11:19:00) [12]

Дело в том как его выполнять
метод TQuery.Open(или установка св-ва Active:=true) предначзначен для получения выборки данных, insert никаких выборок не возвращает, отсюда ошибка
вместо Open используйте ExecSQL


Наверх

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