#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()
функцию для возврата строки, и вызвал свою собственную пользовательскую ошибку, сообщив, что таблица не смогла найти данные