我有一个包含文本框的Powerpoint幻灯片。我想将这些文本框与Access中的数据表的过滤视图相链接。
例如,如果我在Access中有一个TaskList应用程序,它显示具有不同优先级和影响的任务;有没有办法打开该文件,选择该视图,并根据从我的Powerpoint演示文稿触发的vba(或其他)onclick按钮事件过滤它?
答案 0 :(得分:5)
当然可以从Powerpoint获取Access数据。
您需要确保在VBA项目中为Microsoft DAO Object Library
设置了正确的引用。
然后,要在PowerPoint演示文稿中填充文本框,您可以调用类似以下函数的内容,例如,返回包含与给定TaskPriority匹配的任务列表的字符串。
Function GetTaskListFromAccess(taskPriority as Integer) as String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim listOfTasks as String
Set db = DBEngine.OpenDatabase(“C:\my_database.accdb”)
Set rs = db.OpenRecordset("SELECT * FROM TaskTable WHERE TaskPriority=" & _
taskPriority, dbOpenSnapshot)
If not rs is nothing then
If rs.RecordCount > 0 then
With rs
While Not .EOF
if listOfTask = "" then
listOfTasks = !TaskName
Else
listOfTasks = listOfTasks & vbCrLf & !TaskName
End If
.MoveNext
Loop
.Close
End With
End If
Set rs = nothing
End If
Set db = nothing
GetTaskListFromAccess = listOfTasks
End Function