Я получаю ежедневный дамп данных по электронной почте, который обрабатывается Access (на основе правила Outlook, VBA извлекает вложение и запускает процедуры доступа, поэтому я получаю отчет).
Поскольку дамп данных становится все больше и больше, и имея в виду, что Access выполняется локально, который потребляет мои ресурсы, я хочу настроить сервер PHP/MySQL, чтобы сделать его более эффективным.
Первая проблема, с которой я сталкиваюсь, - это связать правило Outlook с выполнением PHP? (поскольку у меня будет установлен Outlook на компьютере под управлением Windows, с настройкой apache/mysql (WAMP))
Кто-нибудь может поделиться некоторыми сведениями о том, как запустить выполнение PHP из Outlook?
Спасибо за помощь!
Срджан
Если у вас есть существующая установка с использованием Access и VBA, и вам нужна только лучшая база данных, вы могли бы просто использовать MySQL без PHP и использовать MySQL ODBC-драйвер вместо используемого на данный момент соединения Access ( если вы в настоящее время используете ODBC для подключения к базе данных доступа)
Таким образом, вам даже не нужно будет запускать mysql локально, если на вашем локальном компьютере слишком высокий уровень, и это должно быть довольно просто, поскольку вам не нужно делать много изменений в вашем коде vba.
Конечно, будет ли это делать это, зависит от того, что еще происходит в вашем доступе db
Если вы не можете попробовать использовать php и использовать интерфейс командной строки PHP (CLI), который вы сможете вызывать в качестве внешнего исполняемого файла из Outlook. Просто передайте php.exe имя php script, которое вы хотите запустить
UPDATE:
Я не эксперт VBA каким-либо образом, но похоже, что функция оболочки позволит вам запускать CLI PHP из VBA
Shell("path/to/php.exe phpscript.php")
http://msdn.microsoft.com/en-us/library/xe736fyk(VS.71).aspx
Конечно, это будет работать только в том случае, если вы сможете добраться до php.exe на машине Wamp (т.е. на локальном компьютере или у вас есть доступ к сети в соответствующую папку)
В качестве альтернативы, если Wamp-сервер должен быть отдельным компьютером, вы можете запустить php script для запуска, вызвав URL-адрес. Я думаю, что объект XMLHTTP сделает это за вас
Dim xmh As Object
Set xmh = CreateObject("MSXML2.XMLHTTP")
xmh.Open "GET", "http://urlofphpserver/script.php", False
xmh.Send