powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вызов функции Access из Excel
23 сообщений из 23, страница 1 из 1
Вызов функции Access из Excel
    #32222485
Ленка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста, как можно вызвать в Excel-e фунцию Access-a.
Я пробовала сделать это так:
Dim MyAC As Object

Dim Mdl As Object
Set MyAC = GetObject(, "Access.Application")
Set MyAC = GetObject("D:\WareHouse\YP\yp2000.mdb")

MyAC.Application.Visible = True
MyAC.Application.DoCmd.OpenModule "Form_AddInvoice"
Set Mdl = MyAC.Application.Modules("Form_AddInvoice")
Mdl![ZakachkaInvoice]

MyAC.Application.Quit
Set MyAC = Nothing

End Sub

Что не так? и как правильно написать вызов функции?
Заранее спасибо!
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222545
a™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опять же не понятно ..,
цель..
Если это просто какя то фунция, то скопируй её в Excel
Если встроенная то добавь ссылку на msacc.olb
Что ты хочешь вытащить из базы...
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222558
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dim MyAC As Object
вроде надо так: Dim MyAC As excel.application

>Set MyAC = GetObject(, "Access.Application")
>Set MyAC = GetObject("D:\WareHouse\YP\yp2000.mdb")
а это я вообще не понял

Какая ошибка???
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222559
fgh11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MyAC.Application.run "ZakachkaInvoice"
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222561
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты это со SpredSheet мутишь???
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222566
Ленка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет это не встроенная функция. Она написана мной и совершает манипуляции с данными в таблицах. Мне бы не хотелось все это переносить в Excel. Можно ли вызвать функцию не прибегая к этому?
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222574
Ленка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так (MyAC.Application.run "ZakachkaInvoice") я уже пробовала. Ничего не получается. Пишет, что Access не может найти процедуру ZakachkaInvoice. Как можно указать путь к этой функции?
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222586
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитай message от 15.54
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222594
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе же fgh11 написал,как делать
Вот пример из хелпа
application.Run procedure[, arg1, arg2, ..., arg30]

The Run method has the following arguments.

Argument Description
application The Application object.
procedure The name of the Function or Sub procedure to be run. If you are calling a procedure in another database use the project name and the procedure name separated by a dot in the form:
"projectname.procedurename"

If you execute Visual Basic code containing the Run method in a library database, Microsoft Access looks for the procedure first in the library database, then in the current database.

arg1, arg2, ... Optional. The arguments for the specified Function or Sub procedure. You can supply a maximum of thirty arguments.

Example
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim appAccess As Access.Application
Sub RunAccessSub()
    ' Create instance of Access Application object.
    Set appAccess = _
        CreateObject("Access.Application.9")
    ' Open WizCode database in Microsoft Access window.
    appAccess.OpenCurrentDatabase  "C:\My Documents\WizCode.mdb" , False
    ' Run Sub procedure.
    appAccess.Run  "Greeting" ,  "Joe" 
    Set appAccess = Nothing
End Sub
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222597
Ленка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я обрабатываю Excel файл. И из этого файла информацию записываю в Access таблицы. Там я уже выполняю всякие проверки, запросы, организованные средствами Access.
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222601
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ленка
Что-то как-то наворочено выходит...
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222607
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я обрабатываю Excel файл. И из этого файла информацию записываю в Access таблицы. Там я уже выполняю всякие проверки, запросы, организованные средствами Access.

Так тогда лучше из аксеса обращаться к екселю.
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222610
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может тебе проще из аксеса открывать эксельный файл и обрабатывать его?
А еще лучше проимпортировать (адын раз) данные во вспомогательные таблицы в аксесе и обрабатывать аксесом аксесовские же данные?
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222611
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апаздал
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222642
Ленка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что мне приходится сначала открывать Excel файл запускать в нем макрос который бы, преобразовывал присланный файл в вид удобный для использования в Access. Потом мне приходится открывать Access и совершать дальнейшие действия. Хотелось бы все сделать из Excel-я. Что бы минимизировать действия пользователя. Возможно это звучит запутанно:)

У меня не получается через Run "ZakachkaInvoice" Как правильно указать выражение в кавычках, чтобы Access понял к чему я обращаюсь? В данный момент он не понимает.
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222649
2 Лох:
Ползуясь случаем... У меня проблема была как то, я импортировал данные из екселя в аксес, причем фаил ехеля находился на другом сервере. Так вот, хотя количество записеи было всего около 20 тысяч процесс постоянно виснул. А импорт я осушествял методом Експорт. Не подскажеш как ето можно решить?
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222658
2 Ленка:
У меня была похожая задача, я просто весь лист экселя импортировал в аксес и там уже все обрабатывал. Мое ИМХО так гораздо проше и надежнее.
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222660
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А импорт я осушествял методом Експорт
Очень хорошо. Меня всегда радовали нестандартные подходы

Самый простой (и быстрый) способ импорта - присоединить табличку напрямую к экселю, и перелить данные простым sql-запросом. Но это если формат эксельного файла подходящий.
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222661
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ленка
Делай все в Accesse... И используй SpreadSheet
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222666
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потом мне приходится открывать Access и совершать дальнейшие действия. Хотелось бы все сделать из Excel-я. Что бы минимизировать действия пользователя. Возможно это звучит запутанно:)


Что-то я мало чего понял.... Дальнейшая работа происходит в Аксесе? Ежели да, то открывать нужно ексель как объект, запускать там макрос, передавать всё в Аксес и продолжать работу.
И в екселе уже сработает Application.run "Имя экселевской процедуры". Вот в этом и заключается на мой взгляд минимизация действий пользователя.
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222696
2 Лох:

присоединить табличку напрямую к экселю, и перелить данные простым sql-запросом.

Имееш ввиду создать новую таблицу на основе запроса?
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222721
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имееш ввиду создать новую таблицу на основе запроса?
Нет. Откуда такой вывод? Русским по белому же написано - присоединить

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

Можно попробовать в тексте запроса указывать в селекте путь к эксельному файлу. См. хелп по слову IN.
...
Рейтинг: 0 / 0
Вызов функции Access из Excel
    #32222746
2 Лох:
Дальше - работать с этим добром как с обычной присоединенной таблицей. В том числе можно обычным запросом скопировать данные в другую таблицу
Я это и имел ввиду.
ясненко, сенкс
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вызов функции Access из Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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