使用RODBC

时间:2017-02-07 00:11:05

标签: r ms-access rodbc

我想使用 RODBC包部分覆盖带有数据框的Microsoft Access表。我没有覆盖整个表,而是在寻找一种方法,只删除该表中的特定行 - 然后将我的数据框追加到其末尾。

我添加框架的方法非常简单。我会使用以下函数:

sqlSave(ch, df, tablename = "accessTable", rownames = F, append = T)

挑战在于找到一个允许我提前从Access表中清除特定行号的功能。 sqlDrop sqlClear 函数似乎没有让我在那里,因为他们将删除或清除整个表格。

非常感谢任何实现此任务的建议!

1 个答案:

答案 0 :(得分:1)

确实,请考虑使用sqlQuery对要保留的行的Access表进行子集化,然后rbind使用当前数据帧,最后使用sqlSave,故意用{{覆盖原始Access表1}}。

append = FALSE

当然你也可以做计数器,从每个指定逻辑的表中删除行,然后用# IMPORT QUERY RESULTS INTO DATAFRAME keeprows <- sqlQuery(ch, "SELECT * FROM [accesstable] WHERE timedata >= somevalue") # CONCATENATE df to END finaldata <- rbind(keeprows, df) # OVERWRITE ORIGINAL ACCESS TABLE sqlSave(ch, finaldata, tablename = "accessTable", rownames = FALSE, append = FALSE) 附加(NOT覆盖):

sqlSave

关键是找到指定要保留的行的SQL逻辑。