• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Excel/msquery+sql+vba

  • Автор темы vanillavera
  • Дата начала
V

vanillavera

Уважаемые Гуру и все кто сможет помочь...

Не уверена что выбрала правильный раздел..

Расскажу суть проблемы с самого начала.
В организации 1С ТиС7.7. Много пользователей, работает вяло, минимальный объем данных выгружается достаточно долго.
Но при этом большинство пользователей извлекает по большей части сходные данные, просто по-разному организованные.
Возникла идея ограничить доступ пользователям к 1С, обеспечив их при этом необходимыми данными в виде готовых динамических отчетов в Excel(в форме сводных таблиц, чтобы каждый смотрел как ему удобно). Для этого выгружать некие срезы БД (за день, неделю, месяц), делать из них выбор необходимой информации посредством SQL запроса в готовые отчеты, где потом посредством макросов рассчитывать необходимые аналитики.
Данные выгружаются в DBF файлы.
Ввиду моего скудного знания SQL(и написания запросов SQL на VBA) запросы делаю посредством MS Query.
И собственно всё неплохо, если требуется простое соединение таблиц MS Query справляется нормально, все работает.
Проблемы возникают, если нужно сделать полное внешнее соединение таблиц. MS Query умирает.
Да собственно и если соединять более двух таблиц уже та же история.
Что вообще лучше сделать?
Если запрос SQL будет написан текстом непосредственно в макросе, то больше шансов что он выполнится, чем с использованием MS Query?
Если не использовать выгрузку в DBF файлы, а подключаться к тем же данным в SQL формате на сервере, поможет ли это? ускорит процесс? есть шанс, что MS Query сможет с этим справится?

А может есть какие более изящные решения, подскажите пожалуйста!
:) :*цензура*you:
 
V

vitfil

Подсказываю:
Как правило, требуется всего 2 вида отчетности:
1. Аналитическая. Как правило, анализируются данные прошлых периодов. Для отчетности используется отдельная БД и, например, OLAP-технологии. Еще лучше - отдельный сервер. Выгружаются большие массивы данных, поэтому лучше всего проводить эту операцию ночью.
2. Оперативная. Тут имеет смысл определить круг отчетов, необходимых для работы и оптимизировать процедуры их формирования. Вполне допускаю, что придется переделывать структуру регистров, документов, справочников.

Обе задачи сами по себе достаточно неординарные, посему представляют особенный интерес. Успехов в решении!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!