Несоответствие типов в операторе set frame - PullRequest
1 голос
/ 09 октября 2019

Я пытаюсь использовать Outlook View Control в Microsoft Access. Насколько я понимаю, это можно использовать только путем встраивания его в элемент управления Microsoft Forms 2.0 Frame.

После неудачи я скачал базу данных с Experts Exchange, которая работала нормально. Когда я попытался воспроизвести его в своей базе данных, я получил ошибку несоответствия типов. Затем я импортировал форму из базы данных, которую я скачал, которая работала правильно, но когда я запустил ее в своей базе данных, я получаю ту же ошибку несоответствия типов.

Private Sub Form_Open(Cancel As Integer)

    Dim MyFrame As Frame
    Dim vc As viewctl

    Set MyFrame = Me.Frame0.Object
    Set vc = MyFrame!ViewCtl1

    With vc
        .Folder = "John Smith"
    End With

End Sub

Код очень прост, но яне понять, что является причиной проблемы. Ссылки были добавлены для библиотеки объектов Microsoft Forms 2.0 и Microsoft Outlook View Control. Фактически, у меня есть все ссылки в рабочей базе данных, которые я скачал вместе с другими в моей базе данных.

Код выглядит следующим образом:

Ошибка выдает Set MyFrame = Me.Frame0.Object как

ошибка 13 Несоответствие типов.

Имя папки - это имя общего календаря.

Если кто-то может помочь, я был бы очень признателен.

Ссылка на загруженную базу данных:

https://www.experts -exchange.com / Articles / 4617 / Outlook-View-Control-OVC-part-two-Changing-folderи-взаимодействующий-программно-Access-2007.html # комментарии

1 Ответ

1 голос
/ 09 октября 2019

Предполагая, что вы имеете в виду Frame для обозначения типа MSForms, вам может потребоваться его полная квалификация:

Dim MyFrame As MSForms.Frame

В общем, это хорошая привычка для полной квалификации типов, которые имеютимя, которое может существовать более чем в одной указанной библиотеке типов: если существует Access.Frame, то оно имеет более высокий приоритет в порядке разрешения (см. порядок библиотек в диалоге инструментов / ссылок), поэтому безусловный Frame будетнеявно Access.Frame, следовательно, несоответствие типов.

...