Форум программистов, компьютерный форум, киберфорум
Наши страницы

MS Access

Войти
Регистрация
Восстановить пароль
 
 
truelogin
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 169
#1

Последовательное выполнение нескольких запросов - MS Access

02.04.2016, 17:12. Просмотров 997. Ответов 23
Метки нет (Все метки)

Добрый день!

Товарищи, столкнулся с задачей, которую пока не могу сам решить - прошу помощи!

Как сейчас я делаю:
  • Изменяю данные в файле Dannie.xlsx
  • Выполняю запрос Dobavlenie в BD.accdb
  • Захожу в Otchet.xlsx-->Обновить все --> Получаю все данные из таблицы Table

Что хочу получить:
  • Изменяю данные в файле Dannie.xlsx
  • Выполняю запрос Dobavlenie в BD.accdb <----- Автоматизация
  • Захожу в Otchet.xlsx-->Обновить все --> Получаю все данные из таблицы Table

Вопросы/проблемы:
  1. Как можно автоматически запустить запрос Dobavlenie в BD.accdb до запроса на выборку Otchet, который запускается при нажатии на кнопку Обновить все в Otchet.xlsx.
  2. Не могу разобраться с VBA кодом, который отключает подтверждение на добавление данных в таблицу Table - он работает, когда я его запускаю, но не могу сделать так, чтобы он автоматически запускался при открытии BD.accdb.
  3. Задача схожая с 1 задачей - Запускать VBA код (из п.2) до выполнения запроса Dobavlenie
0
Вложения
Тип файла: rar ACCESS.rar (40.9 Кб, 3 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2016, 17:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Последовательное выполнение нескольких запросов (MS Access):

Выполнение запросов - MS Access
Добрый Всем день. В кнопке есть шесть запросов-два на печать и 4 на добавление.Если уменьшить кол-во запросов все работает,а так...

Медленное выполнение запросов при работе Касперского - MS Access
Здравствуйте! Помогите пожалуйста с такой проблемой, при работе в БД Microsoft Access-2000 в многопользовательском режиме (БД с таблицами...

Отчет из нескольких запросов - MS Access
Нужно сделать отчет о торговле за период (расход-доход). Так вот, для этого мне нужно создать отчет из полей 3-х разных запросов. Как это...

Объединение запросов в один запрос бд Расход материалов на выполнение плана - MS Access
Есть 3 запроса: -Расход материалов на выполнение плана (запуск) Дата, Шифр материала, Название материала, КоличествоМатериала ...

Экспорт в excel из нескольких запросов - MS Access
Друзья!Т.к. на форуме не нашел ответ на свой вопрос, то прошу помощи у Гуру access DB. Имеем таблицу продаж, с ежедневным обновлением....

Вывод нескольких запросов в одной таблице - MS Access
Добрый день. Задача такая. Есть таблица с некоторыми данными. Из нее делается несколько запросов, каждый, соответственно, выводится в...

23
id_950390144521
2 / 2 / 0
Регистрация: 13.12.2014
Сообщений: 63
02.04.2016, 18:19 #2
В AutoExec после имени функции должны стоять скобки (), тогда ошибку о не найденном объекте не выдает.
0
truelogin
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 169
02.04.2016, 19:38  [ТС] #3
id_950390144521, угу, спасибо, но код так и не срабатывает
0
truelogin
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 169
02.04.2016, 20:11  [ТС] #4
Есть некоторые продвижения Но вопрос остаётся открытым.
Я всё таки разобрался с макросами в Access - сделал, как на скриншоте.
Он отрабатывает на ура - когда открываешь Access.

И код в excel - для запуска макроса:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub Use_macr() 
Dim Asс As Object 
Application.DisplayAlerts = False 
Set Asс = CreateObject("Access.Application") 
With Asс 
.Visible = False 
.OpenCurrentDatabase ("Путь к БД") 
.DoCmd.RunMacro "Название макроса" 
End With 
Application.DisplayAlerts = True 
End Sub
Но:
1. Хотелось бы без макросов в Excel
2. Если в исходных данных есть не уникальные значения, то макрос ошибку выдаёт!!!

Товарищи, помогите, советами)))
0
Миниатюры
Последовательное выполнение нескольких запросов  
alvk
5374 / 3273 / 156
Регистрация: 12.08.2011
Сообщений: 8,127
04.04.2016, 10:34 #5
1. Почему вы изменяете данные в Эксель, а не в Акцесс? Это не правильно, данные нужно хранить в таблицах Акцесс и там же через запросы и формы изменять, а в Эксель только выводить отчётность. Потому что Эксель не БД.
2. Подтягивать из Акцесс вы можете только запросы с select или таблицы, другое не получится обычным способом без макросов Эксель.
3. Не понятно, почему происходит именно такая ситуация. Акцесс не всё время вам доступен?
0
truelogin
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 169
04.04.2016, 23:41  [ТС] #6
alvk, спасибо, что не прошли мимо. Задачу в принципе решил, только одна проблема осталась, но я решил перейти в vb .net разместил в профильном разделе пост. Ссылку дать не могу с телефона может вы знаете как решить проблему в excel - если нет аксеса на пк, то не возможно к бд подключится.. Как быть?
0
texnik-san
шапоклякистка 8-го дня
3554 / 2185 / 389
Регистрация: 26.06.2015
Сообщений: 4,646
Записей в блоге: 1
05.04.2016, 00:08 #7
Цитата Сообщение от truelogin Посмотреть сообщение
если нет аксеса на пк
То можно сачать с сайта майрософт бесплатную утилиту Access Runtime и установить.
0
truelogin
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 169
05.04.2016, 00:25  [ТС] #8
texnik-san, хм... Вариант интересный, но не прокатит - нельзя на пк ставить доп программы. Но есть сервер - по рдп можно подключиться к аксес
0
mobile
22296 / 12612 / 2545
Регистрация: 28.04.2012
Сообщений: 13,825
05.04.2016, 00:34 #9
Цитата Сообщение от truelogin Посмотреть сообщение
если нет аксеса на пк, то не возможно к бд подключится.. Как быть?
Если Вам нужно только выполнение запросов к БД, то сам Access не нужен. Если есть Windows, то обязательно есть драйвера к mdb/accdb. Независимо от наличия/отсутствия MS Access на ПК. Подключаться ADODB или DAO, ADOX, все в Вашем распоряжении.

Добавлено через 5 минут
А судя по виду макроса из #4, требуется именно запрос на добавление. Ну так взять SQL этого запроса и выполнить его в любой среде. Хоть в Excel, хоть где-нибудь еще.
1
alvk
5374 / 3273 / 156
Регистрация: 12.08.2011
Сообщений: 8,127
05.04.2016, 05:11 #10
Цитата Сообщение от truelogin Посмотреть сообщение
если нет аксеса на пк, то не возможно к бд подключится..
Странно, я в сети из Эксель подключаюсь к любой БД, которая позволяет. Может у вас просто нет прав?
0
Миниатюры
Последовательное выполнение нескольких запросов  
truelogin
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 169
05.04.2016, 18:32  [ТС] #11
mobile, так при запросе на добавление необходимо подтверждать данное решение + возможно добавление повторяющихся данных, а для обхода этого я и использовал макросы access.

Добавлено через 7 минут
alvk, имел ввиду запустить макрос в Access из Excel. А так он подключается и получает данные - всё ок!

Добавлено через 2 минуты
А вообще меня интересует ещё такой вопрос - если установлен Access на файл - сервере и там же лежит БД.
На ПК тоже установлен Access и мы через Excel обращаемся и запускаем запрос в БД - нагрузка ляжет на сервер или на ПК?
0
alvk
5374 / 3273 / 156
Регистрация: 12.08.2011
Сообщений: 8,127
06.04.2016, 08:21 #12
Цитата Сообщение от truelogin Посмотреть сообщение
нагрузка ляжет на сервер или на ПК?
на сеть
2
truelogin
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 169
06.04.2016, 17:23  [ТС] #13
alvk, т.е.?
0
texnik-san
шапоклякистка 8-го дня
3554 / 2185 / 389
Регистрация: 26.06.2015
Сообщений: 4,646
Записей в блоге: 1
06.04.2016, 17:27 #14
Цитата Сообщение от truelogin Посмотреть сообщение
alvk, т.е.?
То есть на сеть. По сети будет передаваться большой объем данных.

Выполнение запроса не такая уже и большая нагрузка, как передача по сети тех данных, на которых он будет выполняться. Основные тормоза даст сеть.
0
truelogin
0 / 0 / 0
Регистрация: 30.08.2014
Сообщений: 169
06.04.2016, 18:25  [ТС] #15
texnik-san, да не))) я же не собираюсь молотить по 10 гб в день))
+ файл с исходными данными будет подкладываться на сервер - рядом с БД, а запросом я как раз буду получать только необходимые минимальные данные. Да даже если я сеть нагну, то пофиг)) - мне главное ПК пользователей не нагружать - у некоторых Celeron и 2 ГБ оперативки. Поэтому и приходится думать - как "вынести" нагрузку за пределы ПК пользователей.
0
06.04.2016, 18:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2016, 18:25
Привет! Вот еще темы с ответами:

Транзакция из нескольких запросов, DoCmd VS Execute - MS Access
Задача: выполнить транзакцию из нескольких запросов подряд, таким образом, чтобы либо все они были успешно выполнены, либо, если хотя бы в...

Одна форма для открытия нескольких запросов - MS Access
У меня сделано так (см. форму &quot;Главная форма&quot;) - в ней есть одно поле. В зависимости от того что мне нужно искать у меня сделано три...

Формирование отчета на основе нескольких запросов с параметрами - MS Access
Добрый день! Вот случилась такая проблема. У меня есть три запроса, все с параметрами по двум полям, по номеру и дате. Получается объединяя...

Формирование отчета результатов нескольких запросов по дате - MS Access
Доброго времени суток! Прошу помощи. Есть три разные таблицы. Каждую заполняют разные люди. Но в каждой таблице есть один и тот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru