通过VBA链接Powerpoint和Access?

时间:2008-12-11 08:59:16

标签: ms-access vba powerpoint

我有一个包含文本框的Powerpoint幻灯片。我想将这些文本框与Access中的数据表的过滤视图相链接。

例如,如果我在Access中有一个TaskList应用程序,它显示具有不同优先级和影响的任务;有没有办法打开该文件,选择该视图,并根据从我的Powerpoint演示文稿触发的vba(或其他)onclick按钮事件过滤它?

1 个答案:

答案 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