我在SAS和Access方面有相当多的经验,我知道如何从VBA调用Access,但是我遇到了需要帮助的表锁问题。
基本上我正在做的是在SAS中运行proc freq,将其传递给Access中的表,以便可以在子表单中读取它。
我有一个带有一些组合框的表单,用户可以在其中选择有关他们想要频率的变量的信息。然后他们点击一个按钮,VBA将这些参数传递给SAS,子表格填充来自SAS的频率数据。
除最后一部分外,一切都有效。
我已成功从Access获取参数,将它们传递给SAS,并运行正确的频率。但是在SAS的proc导出回Access期间,我收到一个错误声明:" Exectute:数据库引擎无法锁定表" FREQ"因为它已经被其他人或进程使用了。"
问题是SAS导出到的表在Access中由打开SAS的表单使用。
由于我在SAS正在处理时显然没有使用该表单,有没有办法让表单解锁或断开与表的连接以便SAS可以访问它,然后在SAS完成处理后将表重新连接到表单?
我尝试拆分数据库,但我遇到了同样的问题。
答案 0 :(得分:0)
该问题可能是由于SAS与ACCESS连接而造成的。首先清除连接(例如:libname libname_name clear),然后使用Access连接。