【发布时间】:2015-04-17 17:10:34
【问题描述】:
阅读后:http://www2.sas.com/proceedings/sugi30/044-30.pdf
我决定尝试使用 Access 运行 SAS 程序,但我在使用 VBA 时遇到了一些问题。
这是我的代码:
Private Sub Command_Click()
Dim olesas as Object
Dim Data_ID as String 'note this is the name of a txtbox in my form
dd_id=Data_ID.Value 'here is where my error is
Set olesas=CreateObject("SAS.Application")
olesas.Submit (" %let DD_ID=" & dd_id & "; %inc 'SASMACRO'") 'didn't feel like typing whole inc statement here
olesas.Visable=True
olesas.Quit
Set olesas=Nothing
End Sub
当我尝试将表单中的参数设置为 VBA 中的变量时出现错误,该变量随后将转换为 SAS 中的宏变量。有什么想法吗?
【问题讨论】:
-
dd_id = Data_ID.Value没有变暗 - 您是否设置了 Options Explicit? (这是一条 VBA 行,因此它与 SAS 无关。)您也没有正确引用您的 txtbox - 我认为您需要将dd_id调暗为字符串,而不是Data_ID,因为您希望这样做成为你的文本框。您应该查看如何引用文本框 - 我不记得确切的访问对象模型,但它会类似于 Application.Textboxes.Textbox("Data_ID") 或类似的东西。 -
现在我读了这篇论文,他们就是这样做的......我是一个擅长 VBA 的人,但对我来说,这将是非常......奇怪......变暗一个字符串并神奇地从中获取一个文本框值。
-
谢谢@Joe。我会进一步调查。