Метод Application.Run (доступ)
Метод Run можно использовать для выполнения указанного Microsoft Access или процедуры Function или Sub , определенной пользователем. Variant.
Синтаксис
выражение. Запуск (** Процедуру, ** Arg1, ** Arg2, ** Arg3, ** Arg4, ** Arg5, ** Arg6, ** Arg7, ** Arg8, ** Arg9, Arg10, ** Arg11, ** Arg12, ** Arg13, ** Arg14, ** Arg15, ** Arg16, ** Arg17, ** Arg18, ** Arg19, ** Arg20, ** Arg21, ** Arg22, ** Arg23, ** Arg24, ** Arg25, ** Arg26, ** Arg27, ** Arg28, ** Arg29, ** Arg30)
выражение Переменная, которая содержит объект приложения .
Параметры
Имя |
Обязательный или необязательный |
Тип данных |
Описание |
Процедура |
Обязательное |
String |
Имя процедуры Function или Sub для запуска. При вызове процедуры в другой базе данных используйте имя проекта и имя процедуры, разделенных точкой в формате: « имя_проекта. имя процедуры«. При выполнении кода Visual Basic, содержащий метод Run в базе данных библиотеки поиск процедуры в библиотеку базы данных, а затем в текущей базе данных. |
Arg1 Arg2... Arg30 |
Необязательный |
Variant |
Аргументы, которые должны быть переданы в Function или Sub , указанный в аргументе процедуры . |
Возвращаемое значение
Variant
Заметки
Этот метод полезен, когда вы управляете Microsoft Access из другого приложения через средство автоматизации, ранее — OLE-автоматизации. Например можно использовать метод запустите из компонента ActiveX для выполнения процедуры Sub , определенным в базе данных Microsoft Access.
Можно задать ссылку на библиотеку типов Microsoft Access из любого другого компонента ActiveX и использовать объекты, методы и свойства, определенные в эту библиотеку в вашем коде. Тем не менее нельзя задать ссылку на отдельной базы данных Microsoft Access из любого приложения, отличного от Microsoft Access.
Например предположим, что определены процедуру с именем NewForm в базе данных с помощью его свойства имя_проекта «WizCode». Процедура NewForm принимает строковый аргумент. В Visual Basic, можно вызвать NewForm следующим образом:
Dim appAccess As New Access.Application
appAccess.OpenCurrentDatabase ("C:\My Documents\WizCode.mdb")
appAccess.Run "WizCode.NewForm", "Some String"
Если другой процедуры с тем же именем могут размещаться в другую базу данных, Указание аргумента процедуры , как показано в предыдущем примере, с именем базы данных, в котором находится нужное процедуры.
Можно также использовать метод Run вызова процедуры в указанной базе данных Microsoft Access из другой базы данных.
Пример
Следующий пример запускает процедуры Sub , определенной пользователем в модуле в базе данных Microsoft Access из другого приложения, который выступает в качестве компонента Active X.
Для проверки работы примера, создайте новую базу данных с именем WizCode.mdb и задать его свойство имя_проекта WizCode. Откройте новый модуль в этой базе данных и введите следующий код. Сохраните модуль и закройте базу данных.
Примечание Задайте имя_проекта , выбрав Инструменты, свойства WizCode, в главном меню редактора Visual Basic.
Public Sub Greeting(ByVal strName As String)
MsgBox ("Hello, " &; strName &; "!"), vbInformation, "Greetings"
End Sub
После выполнения этого этапа выполните следующий код из Microsoft Excel или Microsoft Visual Basic. Убедитесь в том, что добавления ссылки на библиотеку типа Microsoft Access щелкните ссылки в меню Сервис и выберите Библиотека объектов Microsoft Access 12.0 в диалоговом окне " ссылки ".
Private Sub RunAccessSub()
Dim appAccess As Access.Application
' Create instance of Access Application object.
Set appAccess = CreateObject("Access.Application")
' Open WizCode database in Microsoft Access window.
appAccess.OpenCurrentDatabase "C:\My Documents\WizCode.mdb", False