问题描述
摘要:
我需要修改多个报告(超过300个)。工具栏属性在此新数据库中不再存在(它是ADP的端口,有一个自定义功能区来代替它),因此我需要将所有报告中的Toolbar属性修改为空白
我尝试过的事情
遍历所有报表并将属性更改为字符串。我通过使用相同的代码来成功修改RecordSource并成功地实现了这一目标。
Sub RemovetoolbarItemFromreports()
Dim oReport As Report
Dim nItem As Long
Dim bIsLoaded As Boolean
Dim n As Integer
n = FreeFile()
Open "pathToMystuff\test.txt" For Output As #n
For nItem = 0 To CurrentProject.AllReports.Count - 1
bIsLoaded = CurrentProject.AllReports(nItem).IsLoaded
DoCmd.OpenReport CurrentProject.AllReports(nItem).Name,acDesign
Set oReport = Reports(CurrentProject.AllReports(nItem).Name)
If (oReport.Toolbar = "MYTOOLBAR") Then
Debug.Print (oReport.Name)
Debug.Print (oReport.Toolbar)
Write #n,oReport.Name
Write #n,oReport.Toolbar
' Does not persist
Reports(oReport.Name).Toolbar = ""
' Does not persist
Reports(oReport.Name).Report.Toolbar = ""
' Does not persist
oReport.Toolbar = ""
End If
If Not bIsLoaded Then
DoCmd.Close acReport,oReport.Name
End If
Next
Close #n
End Sub
如果我可以获取此VBA代码以将更改写入我的accdb文件,或者如果有一个.NET库用于读取/修改Access表单/报告(我可以找到的所有库都用于读取/书写表)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)