powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подключение к запросам из Excel
5 сообщений из 5, страница 1 из 1
Подключение к запросам из Excel
    #39158608
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!
Комрады, обращаюсь за практикой. Потому что в нете ничего путного на эту тему не нашел, видимо, имеют место частные случаи, о которых я, по неопытности, не знаю.

Есть Access с тремя запросами. Там все работает, все хорошо.
Есть Excel, в который через "Получение из внешних данных - из Access" я хочу "положить" данные из этих запросов. Я же правильно понимаю предназначение этого функционала?
Подключаюсь (все через гуи), выбираю запрос. Имею следующую картину:
1. Из одного запроса данные тянутся абсолютно сорректно
2. Из второго отчета записей возвращается больше, чем возвращает сам отчет в Access
3. От третьего отчета подтягиваются только заголовки полей.
В чем может быть причина? Структура запросов (она почти одинаковая), количество выгружаемых данных (25к строк в наибольшем), что-то еще?
_____________________
А что на самом деле хотел сказать "Frost_Imp" никто не знает, так как администрация форума попросила его быть вежливым.
...
Рейтинг: 0 / 0
Подключение к запросам из Excel
    #39158839
В запросах используется оператор Like? Для DAO (в БД Акса) и ADODB (подключение в Excel) спецификации разные.
Покажите содержимое WHERE запросов. Или весь их текст.
...
Рейтинг: 0 / 0
Подключение к запросам из Excel
    #39159772
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ), да, использует. Вот один запрос
Код: sql
1.
2.
SELECT a.YBPIDEAL, a.дата_установки, all_over.дата_статуса, a.статус, all_over.выдача_по, all_over.лимит
FROM (SELECT ov.YBPIDEAL, Min(ov.дата_время) AS дата_установки, ov.статус FROM all_over AS ov GROUP BY ov.YBPIDEAL, ov.статус, ov.продукт HAVING (ov.статус="A") AND (ov.продукт Like "*PSB*" or ov.продукт like "*PRB*") ORDER BY Min(ov.дата_время))  AS a INNER JOIN all_over ON (a.YBPIDEAL = all_over.YBPIDEAL) AND (a.дата_установки = all_over.дата_время);


вот второй, берущий данные из первого
Код: sql
1.
2.
SELECT empl_start.YBPIDEAL, empl_start.дата_установки AS дата_время_установки, empl_start.дата_статуса, Year(empl_start.дата_статуса) AS год, empl_start.лимит AS лимит_установки, all_last.дата_крайнего_статуса, all_last.крайний_статус, all_last.актуальный_лимит
FROM empl_start LEFT JOIN all_last ON empl_start.YBPIDEAL = all_last.YBPIDEAL;


(на два разбил для удобства)
В одном действительно есть like. Как выйти из ситуации?
...
Рейтинг: 0 / 0
Подключение к запросам из Excel
    #39159986
В ADO вместо "*" используется "%", а вместо "?" - "_".
Но если запрос используется и в Аксе, то в вашем случае универсальное решение - вместо, например, ov.продукт Like "*PSB*" можно применить конструкцию:
InStr(1,ov.продукт,"PSB") > 0

А нужна ли вам такая связь из Excel с данными Access? Может лучше заливать данные в Excel процедурой в Access с помощью OLE Automation и метода CopyFromRecordset?

Еще вариант... То что вы используете, в Excel называется QueryTable. Кроме варианта, который используете вы, можно открыть DAO.Recordset и присвоить его этому объекту. Тогда и в запросах ничего менять не надо.
...
Рейтинг: 0 / 0
Подключение к запросам из Excel
    #39161212
Frost_Imp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ), спасибо огромное, InStr помог
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подключение к запросам из Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]