2012-07-31 52 views
0

首先,我在访问可怕的,非常糟糕的事情,是不是净(正如你所看到的,我一直试图在.net写)移动多个查询从访问SharePoint

我是什么试图做的是采取Access数据库中的每个查询并将其保存在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,真,登录,密码

本身我得到一个运行时错误3841,我希望至少那部分工作。有没有人有什么建议?

感谢您的帮助, 扎克

回答

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网站,那么以上操作将在没有密码提示的情况下运行。如果你没有登录,那么你会收到一个登录提示,然后上面应该工作得很好。

如果您打算为实现代码为/每次,你有,那么语法会是这样:

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