首先,我在Access上很糟糕,并且在任何不是.Net的事情上都很糟糕(正如你所看到的,我一直在努力写入.Net)
我要做的是获取Access DB中的每个查询并将其保存在Sharepoint列表中。
类似的东西:
Option Compare Database
Option Explicit
Public Function SendUpdate()
Dim DB as Access.Db = C:\Test.accdb
For Each Qry as Query in DB
DoCmd.TransferDatabase acExport, "WSS", DB, _
"http://My.sharepointlist.com/list", _
acQuery, Qry, Qry, True, Login, Password
Loop
End Function
显然For Each
部分不起作用,但即使我这样做:
DoCmd.TransferDatabase acExport,WSS
,DB,http://My.sharepointlist.com/list
,acQuery,Qry,Qry,True,登录,密码
我自己得到一个运行时错误3841
,我希望至少那部分有效。有没有人有任何建议?
感谢您的帮助, 扎克
答案 0 :(得分:2)
您想要的命令如下所示:
DoCmd.TransferDatabase acExport, _
"WSS", _
"http://YourTargetDatabase/TestSubSite", _
acQuery, _
"q2", _
"q2"
对此进行细分是:
DoCmd.TransferDatabase acExport, _
"WSS", _ (Type of export – WSS)
"http://YourTargetDatabase" (target database location), _
acQuery, _ (type of export)
"q2", (name of query to export)
"q2" (name to create on target system)
您拥有的“商店”密码选项不是连接字符串,也不是密码。它只是存储密码的真/假设置 - 我认为这不适用于SharePoint,只适用于某些类型的odbc连接。
因此,如果您当前登录到SharePoint网站,则上述操作将在没有密码提示的情况下运行。如果你没有登录,那么你将收到一个登录提示,然后上面应该可以正常工作。
如果您要将其编码为for / each,那么语法将是这样的:
Sub TransferQuery()
Dim qryDef As DAO.QueryDef
For Each qryDef In CurrentDb.QueryDefs
DoCmd.TransferDatabase acExport, _
"WSS", _
"http://YourTargetDatabase/TestSubSite", _
acQuery, _
qryDef.Name, _
qryDef.Name
Next
End Sub