Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вызов функции Access из Excel / 23 сообщений из 23, страница 1 из 1
30.07.2003, 15:30
    #32222485
Ленка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Подскажите пожалуйста, как можно вызвать в 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
30.07.2003, 15:48
    #32222545
a™
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Опять же не понятно ..,
цель..
Если это просто какя то фунция, то скопируй её в Excel
Если встроенная то добавь ссылку на msacc.olb
Что ты хочешь вытащить из базы...
...
Рейтинг: 0 / 0
30.07.2003, 15:52
    #32222558
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
>Dim MyAC As Object
вроде надо так: Dim MyAC As excel.application

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

Какая ошибка???
...
Рейтинг: 0 / 0
30.07.2003, 15:52
    #32222559
fgh11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
MyAC.Application.run "ZakachkaInvoice"
...
Рейтинг: 0 / 0
30.07.2003, 15:54
    #32222561
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Ты это со SpredSheet мутишь???
...
Рейтинг: 0 / 0
30.07.2003, 15:56
    #32222566
Ленка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Нет это не встроенная функция. Она написана мной и совершает манипуляции с данными в таблицах. Мне бы не хотелось все это переносить в Excel. Можно ли вызвать функцию не прибегая к этому?
...
Рейтинг: 0 / 0
30.07.2003, 16:02
    #32222574
Ленка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Так (MyAC.Application.run "ZakachkaInvoice") я уже пробовала. Ничего не получается. Пишет, что Access не может найти процедуру ZakachkaInvoice. Как можно указать путь к этой функции?
...
Рейтинг: 0 / 0
30.07.2003, 16:05
    #32222586
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Прочитай message от 15.54
...
Рейтинг: 0 / 0
30.07.2003, 16:10
    #32222594
VIG
VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Тебе же 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
30.07.2003, 16:11
    #32222597
Ленка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Я обрабатываю Excel файл. И из этого файла информацию записываю в Access таблицы. Там я уже выполняю всякие проверки, запросы, организованные средствами Access.
...
Рейтинг: 0 / 0
30.07.2003, 16:13
    #32222601
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
2Ленка
Что-то как-то наворочено выходит...
...
Рейтинг: 0 / 0
30.07.2003, 16:15
    #32222607
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции Access из Excel
Я обрабатываю Excel файл. И из этого файла информацию записываю в Access таблицы. Там я уже выполняю всякие проверки, запросы, организованные средствами Access.

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

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

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


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

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

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

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

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


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