2014-03-03 216 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

相关问题