#ms-access #hyperlink #vba
#ms-access #гиперссылка #vba
Вопрос:
Как мне заставить Dlookup возвращать гиперссылку из поля таблицы, заданного как гиперссылка, и отображать гиперссылку в текстовом поле? Текстовое поле возвращает только имя, которое я указал для строки в качестве гиперссылки, а не фактическую гиперссылку, которая находится в поле таблицы. Когда я нажимаю на то, что отображается в текстовом поле, он не может найти путь, поскольку гиперссылка — это только имя строки. Должен ли я форматировать Dlookup по-другому? Я не могу найти никаких ответов нигде, кроме функции Vlookup Excel. Я не нашел в Интернете ни одного примера того, как это сделать. Текстовое поле также отформатировано для гиперссылки.
Private Sub Combo4_AfterUpdate()
Dim CertNum As String
Dim VendorYN As String
CertNum = Me.Combo4.Value
If IsNull(VendorYN = DLookup("[VendorCert]", "[Calibration Data]", "[Certificate Number] = " amp; CertNum amp; "")) Then
Me.Check10 = False
Else
Me.Check10 = True
Me.Text12 = "Vendor Certificate Of Calibration#VendorYN#"
End If
End Sub
Комментарии:
1. Посмотрите, поможет ли эта ссылка .
2. @OverMind — Спасибо за ссылку, но проблема больше связана с Dlookup. Когда я проверяю, что возвращает Dlookup, отображая VendorYN msgbox, он возвращает пустой или нулевой. Итак, я, должно быть, что-то упускаю в том, как я формирую свой Dlookup. Я пытался поместить # в places в Dlookup, но это тоже не нравится.
3. Попробуйте
"[Certificate Number] = " amp; CertNum
4. @OverMind — он по-прежнему настраивается пустым после того, как я его изменил.
5. Какое значение
CertNum
имеет значение при отладке после его присвоенияMe.Combo4.Value
?
Ответ №1:
Вот что я использовал:
Dim CertNum As String
Dim VendorYN As String
CertNum = 132 'I hardcoded 132 to avoid building a combobox control
If IsNull(VendorYN = DLookup("[VendorCert]", "[Calibration Data]", "[Certificatio nNumber] = " amp; CertNum amp; "") = False Then
Me.TestText = VendorYN
Else
MsgBox "No Value"
End If
Я также отформатировал свойства Me.TestText
, на Data
вкладке, Text Format
, Rich Text
.
Комментарии:
1. Ядро будет постоянно меняться, оно основано на другом выборе со списком. Повлияет ли это на то, как это работает?
2. Это нормально. Ваш код не должен меняться
CertNum
, если он дает вам правильные значения изCombo4
3. Хорошо, это сработало и вернуло правильную гиперссылку. Затем я настроил
Me.Text12
отображение VendorYN, и он сделал то же самое, что и раньше.4. Вы сделали все, что я сказал в своем ответе, относительно форматирования текстового поля?
5. Я узнал, что работает.
VendorYN = Nz(DLookup("[VendorCert]", "[Calibration Data]", "[Certificate Number] = " amp; CertNum amp; ""))
а затем я продолжаю своеif then
заявление. Таким образом, я не получаю сообщение об ошибке Null. Кроме того, если я введуFollowHyperlink Me![TestText], , True
событие OnClick для текстового поля, оно откроет файл.