在Access中刷新Sharepoint链接表?

时间:2010-09-08 19:27:46

标签: sharepoint ms-access powershell ms-access-2007

我在2007年有一个链接到共享点列表的访问表。将新记录添加到共享点列表时,更改不会自动反映在访问表中。如果您右键单击链接表,则会有一个“刷新列表”选项,其完全符合您的预期。

我的问题是如何使用powershell或类似程序以编程方式执行此选项? (.netish)

此外:

我发现acCmdRefreshSharePointList作为执行“刷新列表”选项的方式而存在。我试图将它与powershell一起使用:

$app = New-Object -ComObject access.application
$app.OpenCurrentDatabase("C:\foo.accdb")

$acCmd = "acCmdRefreshSharePointList" 
$app.DoCmd.RunCommand($accCmd)

我希望最后一行会导致sharepoint链接表刷新。但是,我收到以下错误:

  

使用“1”参数调用“RunCommand”的异常:“类型不匹配。(HRESULT异常:0x80020005(DISP_E_TYPEMISMATCH))”   在行:1 char:22   + $ app.DoCmd.RunCommand<<<< ($ acCmd)       + CategoryInfo:NotSpecified:(:) [],MethodInvocationException       + FullyQualifiedErrorId:ComMethodTargetInvocation

任何人都可以了解我可能做错的事情,或者刷新此列表的其他方法吗?

2 个答案:

答案 0 :(得分:2)

您正在使用文本字符串加载Powershell变量,该文本字符串是它不知道的Access常量的名称。请尝试使用常量值:

$acCmd = 626
$app.DoCmd.RunCommand($accCmd)

答案 1 :(得分:0)

'Refresh Sharepoint table.
'Open recordset, requery and close recordset
On Error Resume Next
Debug.Print Now(), "Refreshing Sharepoint Main Menu"
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Select * from
    yourtablename")
DoCmd.Requery
DoEvents
rs.Close  

我生产了一年多的尝试和真实的方法。