我在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
任何人都可以了解我可能做错的事情,或者刷新此列表的其他方法吗?
答案 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
我生产了一年多的尝试和真实的方法。