Гиперссылки Dlookup для отображения в MsgBox

#ms-access #vba

#ms-access #vba

Вопрос:

Я пытаюсь заменить все мои константы path в VBA таблицей администрирования в моей базе данных, чтобы пользователи могли изменять расположение папок и файлов без необходимости редактировать код vba.

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

 Private Sub Command8_Click()

    Debug.Print DLookup("fsFileLink", "tblFileSystem", "fsFileName= 'TEMPLATES'")
    MsgBox = DLookup("fsFileLink", "tblFileSystem", "fsFileName= 'TEMPLATES'")

End Sub
 

debug.print возвращает

 C:Users... templates
 

но msgbox возвращает ошибку «слева должен быть вариант или объект».
Как я могу получить значение dlookup в виде строки, которую я могу отображать и редактировать в текстовом поле?

Спасибо

Комментарии:

1. MsgBox = неверный синтаксис

2. это немного смущает, это был долгий день, лол

3. Возможно, вы ищете strResult = InputBox("Your title", DLookup("fsFileLink", "tblFileSystem", "fsFileName= 'TEMPLATES'")) , который должен показывать вам искомый путь в качестве значения по умолчанию, но позволяет редактировать его на экране.

4. Я попробовал этот код, но он установил заголовок в качестве значения dlookup, а не в поле ввода РЕДАКТИРОВАТЬ: code'strResult = InputBox("Your title", default:=DLookup("fsFileLink", "tblFileSystem", "fsFileName= 'TEMPLATES'")) работает

Ответ №1:

Я использую приведенный ниже код:

 Dim strCOCTemplate As String

strCOCTemplate = Nz(DLookup("fsFileLink", "tblFileSystem", "fsFileName= 'TEMPLATE_COC2'"), "none")

If strCOCTemplate = "none" Then Err.Raise Number:=11001, Description:=ERR_DESC_11001 
Set docJobSpec = WordApp.Documents.Add(Template:=strCOCTemplate, NewTemplate:=True)
 

Dlookup возвращает вариант, но Template:= не может принять значения null и выдает ошибку akward. Я компенсировал это, используя nz() функцию для возврата строки, и вызвал свою собственную пользовательскую ошибку, сообщив, что таблица не смогла найти данные