Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/104: Рейтинг темы: голосов - 104, средняя оценка - 4.82
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,559

Как открыть файл Excel по щелчку кнопки из Access-а?

15.04.2016, 10:14. Показов 22316. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Поиск почему то не хотит искать, может некорректно формулирую вопрос. Подскажите пожалуйста как можно реализовать открытие файла формата Excel (допустим называется он "Запасы") расположенного на сетевом диске L: по клику кнопкой расположенной на форме БД? С открытием сетевых папок и запуском приложений типа калькулятора разобрался, а вот как открыть конкретный файл L:\ Торговый зал\Запасы.xls\Лист1 расположенный на сетевом ресурсе не догоняю.
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2016, 10:14
Ответы с готовыми решениями:

Как открыть Excel файл в модуле Access?
Нужно закачать данные в Аксес из Ексел файла, причем закачать программно. Какие могут быть варианты? Всем спасибо за помощь.

Вопрос Из VBA Access открыть файл Excel
Из VBA Access нужно открыть некоторый файл Excel. Если можно на мыло igorshostak@rambler.ru Спасибо. P.S. Я не волшебник

Как из Access открыть файл, используя диалоговое окно "Открыть файл"?
Из базы данных в Access нужно открыть файл Exsel. причем пользователь должен выбрать его сам. то есть сделать открытие файла через...

20
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
15.04.2016, 10:44
Visual Basic
1
Shell "excel.EXE ""L:\ Торговый зал\Запасы.xls""", 1
3
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
15.04.2016, 11:46
Цитата Сообщение от texnik-san Посмотреть сообщение
Shell "excel.EXE ""L:\ Торговый зал\Запасы.xls""", 1
Здравствуйте. По аналогии можно назначить запуск другой access-базы по кнопке, правильно?)))

Извиняюсь, что влезаю)))
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
15.04.2016, 12:56
Да.
3
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,559
15.04.2016, 14:14  [ТС]
ПРЕОГРОМНОЕ СПАСИБО!

Добавлено через 16 минут
А можно реализовать еще такую функцию: В поле [Название файла]находится наименование файла в некой директории. Файл этот с расширением PDF.
Чтобы при нажатии кнопки открывался именно файл из этой директории с наименованием соответствующим наименованию в активном поле таблицы.
Ну допустим курсор стоит в поле [Название файла]=" А1904Б", посему при нажатии кнопки программе должно открыть файл из сетевой директории имеющий тот же номер.Как такое сделать можно?
Но тут еще проблема, эта директория содержит 2 папки с разными источниками данных, но с однотипными файлами, вот как провести еще и выбор в какую папку он должен обратится или можно так сделать что он именно в директории L:\ТорговыйЗал будет искать, не взирая на лежащие в ней папки Точка продажи1 и ТочкаПродажи2?
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
15.04.2016, 15:45
Visual Basic
1
Shell "Полный\Путь\И\Имя\Программы\Для\Открытия\ФайловPDF.EXE ""L:\ Торговый зал" & [Название файла] & """", 1
Цитата Сообщение от Braser Посмотреть сообщение
сделать что он именно в директории L:\ТорговыйЗал будет искать
"Оно" вообще ничего не ищет.
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
15.04.2016, 15:54
Мне кажется с гиперссылкой проще, нет?
Visual Basic
1
application.FollowHyperlink "L:\Торговый зал" & [Название файла]
Съедает обратный слэш перед кавычкой...
3
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
15.04.2016, 17:52
Цитата Сообщение от mobile Посмотреть сообщение
Съедает обратный слэш перед кавычкой...
Точно. Который раз попадаюсь уже.

А с гиперссылкой - да, вообще шикарное решение, особенно для случая, когда не стоит задача запускать какое-то конкретное приложение, а просто нужно открыть файл тем, чем он может быть открыт.
2
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
15.04.2016, 22:58
И снова лезу....))) Не подскажете пример с кодом для открытия другой бд access на кнопке? Что-то не выходит у меня...((( Access 2013

Извиняюсь, что в чужую тему пишу))

Visual Basic
1
2
3
4
Private Sub Кнопка0_Click()
Shell start ''C:\Users\ololosha\Desktop\Stock After Pick8.accdb'''
Application.Quit
End Sub
Тут код на меня ругается. С кодом ругаюсь пока учусь)))
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
15.04.2016, 23:23
Dimasterfrom4e, Shell запускает программу, исполняемый файл. А программа MSaccess.exe. Ваш файл это параметр запуска, а не исполняемый файл. И что за команда или параметр "start" после шелла? Явно лишний.

Посмотрите как записана shell у texnik-san. Только измените программу на акс.
1
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
15.04.2016, 23:30
Цитата Сообщение от mobile Посмотреть сообщение
Посмотрите как записана shell у texnik-san.
Вначале пробовал, но не вышло, т.к. неправильно программу написал(((( А теперь все здорово!!!!)))) Благодаря вам)))) Спасибо))))
0
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
17.04.2016, 02:37
Напоследок еще вопрос. Вот допустим назначил я несколько кнопок на открытия разных файлов. Но у нас на работе есть сотрудники с разными полномочиями, соответственно не у всех будут нужные файлы в папках, а формат рабочего файла одинаковый для всех.

Можно ли написать код, что при отсутствии файла в нужной директории, выходило сообщение: "Проверьте полномочия" или что-то вроде того? То есть хочется избежать появления окна debug-ошибки.

Заранее спасибо за помощь)))
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.04.2016, 02:55
Visual Basic
1
2
3
4
If Dir("путь\файл.accdb")="" Then
   Msgbox "Проверьте полномочия"
   Exit Sub
End If
1
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,559
17.04.2016, 21:20  [ТС]
Как же не ищет☺?Когда не находит файл , то пишет, открыть невозможно,файл не найден...

Добавлено через 7 минут
Но вообщем то это не суть важно, как при запуске процедуры поиска и открытия файла
Задать полю "Название файла" соответствующее значение из активной строки на форме??

Добавлено через 3 минуты
Visual Basic

1 application.FollowHyperlink "L:\Торговый зал" & [Как подставить сюда значение из поля формы?]

Добавлено через 10 минут
Может что то типа
namefile =Form_Запасы.НазваниеФайла

application.FollowHyperlink "L:\Торговый зал" & [namefile]
???
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
18.04.2016, 05:26
Цитата Сообщение от Braser Посмотреть сообщение
1 application.FollowHyperlink "L:\Торговый зал" & [Как подставить сюда значение из поля формы?]
application.FollowHyperlink "L:\Торговый зал\косая" & forms!названиеформы!полеформы
0
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
06.05.2016, 21:59
Вообще само приложение подходит к этому вопросу... Вот что можно обнаружить в Справке 10го Акса по запросу
GetObject Function (почти копия):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Public Sub Открыть_файл()
 Dim Obj As Object ' Переменная для хранения справочной инф в Excel
 Dim ExcelWasNotRunning As Boolean    ' Flag реализации
    Set ExcObj = New Excel.Application ' инициализация объекта-Excel
    ExcObj.Visible = True 'вывод на экран
    On Error Resume Next    
    ' Тест, чтобы увидеть, что копия Microsoft Excel уже запущена
    ' игнорировать следующую возможную ошибку
    ' Getobject function без первого аргумента
    ' позволяет получить приложение. Если оно не запускается,
    ' появляется сообщение об ошибке.
    Set ExcObj = GetObject(, "Excel.Application")
    If Err.Number <> 0 Then ExcelWasNotRunning = True
    Err.Clear 'удалить сведения об ошибках
    ' Microsoft Excel запущена
    ' получить искомый объект
    Set Obj = GetObject("E:\Книга1.xlsx")
    
    'Показать объект Microsoft Excel помощью его свойств.
    'Показать реальное окно, содержащее файл с помощью Windows
    ' ссылок на объект Obj
    Obj.Application.Visible = True
    Obj.Parent.Windows(1).Visible = True
 
    'работайте с объектом здесь:
                    ' ...
    'Если данная копия Microsoft Excel не был запущена, когда вы
     'стартовали, закройте объект, используя метод Quit
    'Обратите внимание, что при попытке выйти из программы Microsoft Excel,
    'заголовок окна мигает, и отображается сообщение о том,
    'хотите ли Вы сохранить все загруженные файлы.
    'Если файл не загружен-не будет сообщения, а только интерфейс Microsoft Excel
    If ExcelWasNotRunning = True Then
        Obj.Application.Quit
    End If
    Set Obj = Nothing    ' удалить объект из оперативной памяти
End Sub
0
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
08.05.2016, 20:17
Извиняюсь, что снова лезу, но может ответ на следующий вопрос кому-нибудь пригодится в будущем)))

Есть ли способ, так сказать, наоборот?? Из access как открыть другие файлы в принципе понятно, а вот по кнопке в excel к примеру понадобится открыть access-файл или даже выполнить запрос какой нибудь?? Или это мне уже в категорию excel в форуме писать??))
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
08.05.2016, 20:30
Цитата Сообщение от Dimasterfrom4e Посмотреть сообщение
вот по кнопке в excel к примеру понадобится открыть access-файл или даже выполнить запрос какой нибудь??
Есть несколько способов. В Excel есть Query и можно создавать запросы с его помощью.
Есть универсальный инcтрументарий ADODB. Им можно получить данные практически из любой БД
Для Jet SQL (ядро баз данных Access) можно получить данные при помощи DAO, создав запрос и выполнив его.
Можно программно открыть Access и выполнить любое действие так, как его делают в самой программе
1
 Аватар для Dimasterfrom4e
9 / 8 / 0
Регистрация: 27.09.2015
Сообщений: 837
08.05.2016, 20:49
Цитата Сообщение от mobile Посмотреть сообщение
В Excel есть Query и можно создавать запросы с его помощью.
Это наверно отдельная тема)) Я еще обдумаю это, возможно из экселя не понадобится это делать)))
0
0 / 0 / 0
Регистрация: 26.11.2016
Сообщений: 6
28.11.2016, 10:41
Здравствуйте все. Может не в тему - прошу меня простить
Прошу помочь мне.
Access 2016
По аналогии всех советов сделал следующее
PureBasic
1
2
3
4
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ProcID As Integer
        ProcID = Shell("C:\Program Files (x86)\Microsoft Office\Office16\MSACCESS""F:\Database2.accdb""")
    End Sub
Но при запуске формы пишет, что файл по этому пути не найден
Помогите. Я только учусь
Спасибо всем
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.11.2016, 10:41
Помогаю со студенческими работами здесь

Как в Access открыть Excel???
Здрасте. Подскажите как лучше сделать такую вещь. Есть 3-и файла Excel в которых есть повторяющиеся записи типа КлиентА-&gt;Число товара1,...

По щелчку левой кнопки мыши должен меняться цвет формы, а по щелчку правой кнопки мыши – восстанавливаться предыдущий
Добрый день) Пишу одну программку, которая позволяла бы при перемещении курсора мыши менять его форму, в зависимости от четверти экрана,...

Как открыть файл при нажатии кнопки?
Помогите знающие плз. прога типа самоучителя. (задание в универе дали) нужно как то сделать так чтоб при нажатии на кнопку отображалось...

Как открыть сам файл нажатием кнопки?
Как открыть сам файл с помощью кнопки???? Мне нужно не считывать в переменную, а открыть из формы файл, примерно так как допустим другую...

Как открыть excel файл?
надо задать путь к файлу например в Excel это делается вот так: W_FileName = Application.GetOpenFilename('Excel files (*.xls), *.xls')а...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru