У меня много проблем с использованием Excel 2007 вместе с SQL Server 2008 R2.
Мне нужно обмениваться данными между двумя или более книгами, и я хочу сделать это через базу данных SQL (помещенную в SQL Server 2008 R2) на удаленном сервере. Я использую VBA с ADO и поставщиком OLE DB для собственного клиента SQL Server в качестве поставщика доступа к данным. Когда один клиент загрузил данные из Excel в базу данных, я хочу, чтобы SQL Server 2008 R2 отправлял другим книгам сигнал о том, что база данных была изменена, и у меня возникает вопрос, как это сделать? И можно ли это сделать в VBA?
Я выяснил, как использовать уведомления о событиях в SQL Server 2008 R2, но опять-таки моя проблема заключается в том, как уведомлять Excel, не запуская макрос, который запрашивает сообщения в очереди компонента Service Broker каждую 30-ю секунду или около того. Кроме того, я знаю, что Excel 2007 не поддерживает многопоточность, и, так как мне нужно, чтобы Excel также запускал другие макросы, это не решение для запуска этих проверок каждую 30-ю секунду.