2012-03-06 29 views
0

沒有登錄的時候,我有以下設置服務器上使用批處理文件運行MS-Access宏在

  1. 兩個MS-Access查詢
  2. 出口從查詢數據並保存導出步驟
  3. 創建宏來運行這些出口的步驟,然後退出MS-訪問
  4. 創建一個批處理文件來打開MS-訪問和運行宏

    • 這工作正常,如果我登錄到服務器並雙擊批處理文件,但如果我設置了「即使未登錄運行」的計劃任務,然後ms訪問宏似乎並沒有運行。 ...所以它似乎像訪問從未跑。

有沒有人有任何想法? 「沒有登錄」時,你可以做這種過程嗎?還有什麼我需要做的嗎?我真的被困住了,需要有這個自動化。

謝謝!

+0

我想你可能需要不同的標籤。 MS Access任務是唯一一個以這種方式失敗的人嗎?你讀過http://technet.microsoft.com/en-us/library/cc721846.aspx? – Fionnuala 2012-03-06 20:14:28

+0

是的,訪問任務是唯一失敗的。還有一個任務是使用批處理文件將某些文本文件移動到FTP服務器,並且該文件成功運行。 – theDoke 2012-03-06 21:21:09

+0

您可能想閱讀http://www.tek-tips.com/viewthread.cfm?qid=1646920。你有沒有考慮在VB腳本中編寫代碼並運行它? – Fionnuala 2012-03-06 21:26:58

回答

1

我最好的猜測是你試圖訪問一個不可用的映射網絡位置。

許多網絡都有登錄腳本,將網絡驅動器映射到本地驅動器號。當您將計劃任務設置爲「即使未登錄時也能運行」,則不會運行這些登錄腳本。

因此,如果您:

一個)導出查詢結果到文件映射的網絡驅動器上(即N:\ MyExport.txt),或
)有一個或更多的表格鏈接到映射網絡驅動器上的.mdb的查詢源(即,CurrentDb.Tables("MyTable").Connect = "N:\MyBackend.mdb"

然後該過程將失敗。

如果您希望在登錄時看到錯誤消息,則不會看到一條消息,因爲在執行計劃任務時,Access進程不可見。但是,如果您轉到任務管理器,您應該會看到列出的MSACCESS.EXE進程。


如果是這樣的問題,有兩種可能的解決方法:

  1. 使用UNC路徑(即替代,\\fileserver\folder\MyExport.txtN:\MyExport.txt
  2. 設置你的計劃任務運行的批處理文件:
    1. 映射網絡驅動器使用NET USE命令
    2. 打開您的MS Access程序與th e適當的命令行參數