Estou usando o Windows Server 8 e estou tendo um problema real ao iniciar meu banco de dados do Access 2010 no Agendador de Tarefas. Como eu posso ver, o problema não é novo, mas espero que, se alguém encontrar uma solução, talvez eles compartilhem comigo. Isso é o que eu tentei:
A tarefa inicia um arquivo em lote, que deve executar tudo, e é executado manualmente. Portanto, não há problema com o código ou o script.
O que eu posso ver é que o arquivo do Access está sendo criado, assumindo que o arquivo bat realmente lançou pelo menos o objeto Access, mas o id não vai mais longe.
Eu também tentei o VBScript:
dim accessApp
set accessApp = CreateObject("Access.Application")
' accessApp.visible = True
accessApp.OpenCurrentDataBase("\...Path to my DB.accdb")
accessApp.Run "NameOfMyFunction"
accessApp.Quit
set accessApp = nothing
Nenhum sucesso também! Windows Server 2008 R2 Standard, SP1, 64 bits.
Aqui está o script do arquivo de lote: echo PROCESS STARTED% date%% time% > \ servername \ FolderName \ JobLog.txt "C: \ Arquivos de Programas (x86) \ Microsoft Office \ OFFICE14 \ msaccess.exe" "\ nome_do_servidor \ Nome_da_Pasta \ Nome_da_Dbc.accdb" / x mMacroName
O Agendador de Tarefas age como se não houvesse nada de errado, nenhuma mensagem de erro, o histórico mostra todas as etapas até "Processo de Tarefa Criada" e não vai adiante. Vejo que meu banco de dados cria um arquivo de bloqueio, mas o script no banco de dados que grava no arquivo de log não é executado. O objetivo aqui é ativar a macro, que executa as consultas de ação (DELETE, APPEND ... all that jazz.) E no final fecha o banco de dados. Como você pode ver, adicionei uma linha no arquivo em lote para gravar no arquivo de log antes de iniciar o banco de dados. Não fazendo isso.
Agradeço antecipadamente pelo tempo que você gasta lendo isso