Связывание Powerpoint и доступа через VBA?

У меня есть слайд Powerpoint, который содержит текстовые поля. Я хотел бы связать эти текстовые поля с фильтрованным представлением таблицы данных в Access.

Например, если бы у меня было приложение TaskList в Access, которое отображало задачи с разными приоритетами и влиянием; Есть ли способ открыть этот файл, выбрать это представление и отфильтровать его в соответствии с событием кнопки vba (или другой) кнопки onclick, запущенной из моей презентации Powerpoint?

11.12.2008 08:59:15
1 ОТВЕТ
РЕШЕНИЕ

Конечно, можно получить данные Access из Powerpoint.

Вы должны убедиться, что Microsoft DAO Object Libraryв вашем проекте VBA установлены правильные ссылки на .

Затем, чтобы заполнить текстовое поле в презентации 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
5
11.12.2008 14:28:42
Очень незначительная ошибка: всякий раз, когда в коде доступа возникает искушение использовать «», вместо этого попробуйте vbNullString. Это особенно важно в цикле, поскольку память для константы доступа уже определена, но «» приходится каждый раз перераспределять.
David-W-Fenton 13.12.2008 00:26:52