Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2010, 07:35   #1
clbman
Пользователь
 
Регистрация: 10.07.2009
Сообщений: 10
По умолчанию Запросы в Excel

Здравствуйте. Можете пожалуйста проверить правильно ли написан запрос? Выдает ошибку "Невозможен запуск запроса на выборку". Суть запроса чтобы установить связь таблиц при помощи JOIN и вывести таблицу в Экселе.


Dim db As DAO.Database
Dim sSQL As String
Set db = DAO.OpenDatabase("C:\Editor\databas e.mdb")
Set RS = db.OpenRecordset("select * from Товары, Склады, Категории")
sSQL = "select Товары.ID, Товары.[Наименование продукта], Склады.Склад, Категории.Категория
from Товары, Склады, Категории,
Товары inner join Склады on Склады.ID=Товары.Склад,
Товары inner join Категории on Категории.ID=Товары.Категория"

db.Execute sSQL
RS.Close
Set RS = Nothing
db.Close
Set db = Nothing
End Sub
clbman вне форума Ответить с цитированием
Старый 15.06.2010, 22:06   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте clbman.
если Вы выложите архив с образцом БД, в котором установлены связи, помощь может прийти быстрее, а пока могу высказать большие сомнения на счет жизнеспособности запроса.
Но даже не вдаваясь в "верность" SQL, вопрос и вся конструкция вызывает вопросы:
зачем устанавливать связь с внешней БД,
открывать рекордсет с бесполезным источником ("select * from Товары, Склады, Категории"),
выполнять запрос на выборку (который ничего не выполняет)
и при этом спрашивать о выводе в Excel

Если будет верно "построен" Ваш запрос на выборку, задача (..в Excel) может решаться гораздо проще:
Код:
...
sSQL = "SELECT * INTO Лист1 IN 'C:\Temp.xls'[Excel 8.0;HDR=YES;IMEX=2] " + _
" FROM (SELECT * FROM ВашИсточник....)"
db.Execute sSQL
db.Close
Set db = Nothing
...
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запросы SQL в Excel clbman Microsoft Office Excel 2 15.06.2010 17:43
Запросы ара Помощь студентам 20 13.05.2010 11:54
Запросы в Excel Iskin Microsoft Office Excel 0 17.04.2010 06:04
Запросы Kristina92 Microsoft Office Access 2 25.03.2010 21:27
Запросы к БД H@Z@RD Общие вопросы Delphi 3 28.03.2007 01:39