我在excel中使用vba从访问数据库中获取/写入。
我在程序开头声明对象并设置它们的值。最后还有一段代码可以关闭连接。但访问shell仍然出现。
以下是代码的副本
rep_sample_n <- function(tbl, size, replace = FALSE, reps = 1)
{
rep_tbl = replicate(reps, tbl[sample(1:nrow(tbl), size, replace = replace),
], simplify = FALSE) %>%
bind_rows() %>%
mutate(replicate = rep(1:reps, each = size)) %>%
select(replicate, everything()) %>%
group_by(replicate)
return(rep_tbl)
}
答案 0 :(得分:2)
Set objAccess = Nothing
这将释放您持有Access.Application
对象的引用:除此之外它不会执行任何操作。
因为该对象有很多其他引用(在其自身内),释放你的引用不会产生任何影响 - 引用计数不为零,因此对象仍然存在。
调用objAccess.Quit
会指示对象释放其内容并清理遗留下来的内容,例如db
来自Close
的{{1}}引用。
也就是说,考虑使用ADODB连接而不是加载整个Access应用程序和对象模型。