Связывание Powerpoint и Access через VBA?
-
21-08-2019 - |
Вопрос
У меня есть слайд Powerpoint, содержащий текстовые поля.Я хотел бы связать эти текстовые поля с отфильтрованным представлением таблицы данных в Access.
Например, если бы у меня было приложение TaskList в Access, которое отображало задачи с разными приоритетами и эффектами;Есть ли способ открыть этот файл, выбрать это представление и отфильтровать его в соответствии с событием нажатия кнопки vba (или другим), вызванным моей презентацией Powerpoint?
Решение
Конечно, можно получить данные 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