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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2012, 15:05   #1
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
Печаль запрос с внешней таблицей

Здравствуйте! Помогите, пожалуйста, решить проблему. Мне нужно составить запрос на выборку из двух таблиц, 1 таблица ("ТН_Нормы") находится в текущей БД, а вторая ("ФактическийВыпускДетали") находится в БД, которая лежит в каталоге локальной сети предприятия. Я составила запрос:
Код:
SELECT ТН_Нормы.C, ТН_Нормы.ObozDet, ТН_Нормы.PutDet, Sum((IIf(IsNull(ТН_Нормы.RAS),0,[ras])+IIf(IsNull(ТН_Нормы.DOP),0,ТН_Нормы.dop))*0.1^IIf(IsNull(ТН_Нормы.en),0,ТН_Нормы.en)) AS Труд1, Sum(ФактическийВыпускДетали.Kol) AS Kol1, ФактическийВыпускДетали.месяц, ФактическийВыпускДетали.год, ФактическийВыпускДетали.смена, Sum([Kol]*(IIf(IsNull([RAS]),0,[ras])+IIf(IsNull([DOP]),0,[dop]))*0.1^IIf(IsNull([en]),0,[en])) AS ТрудКол, ФактическийВыпускДетали.cexSm
FROM ТН_Нормы INNER JOIN [ФактическийВыпускДетали] IN '\\FILESERVER\upr_proiz\ГотоваяПродукция.mdb'  
ON (ТН_Нормы.ObozDet = ФактическийВыпускДетали.ObozDet) AND (ТН_Нормы.C = ФактическийВыпускДетали.cex)
GROUP BY ТН_Нормы.C, ТН_Нормы.ObozDet, ТН_Нормы.PutDet, ФактическийВыпускДетали.месяц, ФактическийВыпускДетали.год, ФактическийВыпускДетали.смена, ФактическийВыпускДетали.cexSm
HAVING (((ТН_Нормы.C)="4714" And (ТН_Нормы.C)=[Forms]![ТН_ВыборПериода]![C]) AND ((ФактическийВыпускДетали.месяц)=[задайте месяц, например, 05]) AND ((ФактическийВыпускДетали.год)=[задайте год, например, 2006]) AND ((ФактическийВыпускДетали.cexSm)<>"5706" Or (ФактическийВыпускДетали.cexSm) Is Null)) OR (((ТН_Нормы.C)<>"4714" And (ТН_Нормы.C)=[Forms]![ТН_ВыборПериода]![C]) AND ((ФактическийВыпускДетали.месяц)=[задайте месяц, например, 05]) AND ((ФактическийВыпускДетали.год)=[задайте год, например, 2006]))
ORDER BY ТН_Нормы.ObozDet;
Вроде бы все правильно, но запрос не работает, выдается "Ошибка синтаксиса в предложении FROM". Я попробовала просто взять все поля из внешней талицы:
Код:
SELECT * FROM [ФактическийВыпускДетали] IN '\\FILESERVER\upr_proiz\ГотоваяПродукция.mdb';
Все равно, выходит та же самая ошибка. У меня access 97, пробовала в 2003, там по крайней мере вторая выборка (все поля из внешней таблицы), работает. В чем может быть проблема?????
Swatch вне форума Ответить с цитированием
Старый 23.04.2012, 15:29   #2
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,079
По умолчанию

проверьте имя таблицы ФактическийВыпускДетали

--может пробелы или подчеркивания
--или база защищена паролем
--или у вас нет прав на эту базу\таблицу

возможно

Код:
SELECT * FROM [ФактическийВыпускДетали]
 IN '\\FILESERVER\upr_proiz\ГотоваяПродукция.mdb;'
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 23.04.2012, 15:58   #3
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

Спасибо, нашла решение! Имя внешней таблицы нужно было указать следующим образом: [\\FILESERVER\upr_proiz\ГотоваяПроду кция.mdb].[ФактическийВыпускДетали]
Теперь все работает!
Swatch вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вебсервер с внешней программой ArvI ASP.NET 3 15.02.2012 11:35
Работа с внешней dll Jrcfyf C# (си шарп) 6 20.01.2012 18:07
Запуск внешней программы Ciberal C# (си шарп) 8 22.05.2011 10:04
Вызов внешней программы Macmeprag C# (си шарп) 1 14.05.2011 16:19
Связывание с внешней БД voam Microsoft Office Access 11 30.12.2009 18:25