2014-03-03 159 views
1

是否可以僅將我的變量的值傳遞到Access中的現有方法中? 例如,outputTo命令如下將我的變量作爲參數傳遞給MS Access函數

DoCmd.OutputTo acOutputReport, "rptName", acFormatSNP, strAttachmentPath 

的strAttachmentPath工作正常,我有這樣的聲明爲strAttachmentPath =「C:...)

這只是一個問題,當我使用一個變量來聲明格式如下所示:

DoCmd.OutputTo acOutputReport, "rptName", varFormat, strAttachmentPath 

當我宣佈varFormat = 「acFormatSNP」 我得到一個錯誤 '編譯錯誤:無效限定符'。

爲什麼這不起作用?

我想要這個的原因是能夠檢查哪個版本的訪問正在運行。如果是2003使用acFormatSNP,如果它是任何其他用途acFormatPDF

回答

1

您需要使用acFormatSNP的內容,它是一個內置的常量,因此:

Dim stype as Text 
stype = "Snapshot Format (*.snp)" 
''Or, no quotes 
stype = acFormatSNP 
DoCmd.OutputTo acOutputReport, "table1", stype, "z:\docs\test.snp" 
+0

當我做S型= acFormatPDF在訪問2003年,自從acFormatPDF在2007版中引入後,將無法編譯>。有沒有解決的辦法?這就是我將格式聲明爲單獨變量的原因。 – germantom

+0

看起來我過早地射擊了我的一團!我使用了if version = 2003,然後使用「快照格式(* .snp)」,否則使用「PDF格式(*。pdf)」。效果很好。謝謝! – germantom

相關問題