#sql #ms-access #hyperlink #vba #ms-access-2010
#sql #ms-access #гиперссылка #vba #ms-access-2010
Вопрос:
Используя SQL или VBA, какой код мне понадобится для запуска гиперссылки, которая будет вести либо в Интернет, либо в сетевое местоположение? Форма имеет несколько кнопок, которые будут соединять 1: 1 с первым столбцом в таблице. Второй столбец в таблице будет иметь либо «http://www.internet.com/databases » или «network7HH formshrl».
Только администратор будет иметь доступ к таблице, а конечные пользователи будут иметь доступ только к формам. Это позволяет всем пользователям нажать на кнопку и автоматически запустить веб-сайт или сетевое местоположение, не имея возможности редактировать таблицу, которая была бы у администратора.
В «OnClick» я не могу просто ввести «FollowHyperlink(http://www ._____) потому что местоположение (записанное в таблице) будет меняться ежемесячно, а у администратора будет 0 кодирования или технического фона.
Кнопка не будет открывать таблицу или показывать пользователю, что происходит, она будет только запускать ссылку и оставаться на том же экране, чтобы позволить им нажать на другую кнопку
Заранее благодарю вас,
JT пока у меня есть:
Dim hyperlink As String
hyperlink = Nz((DLookup("Field2", "sources", "[Field1] = SAP"),"")
If Len(hyperlink) > 0 then
FollowHyperlink (hyperlink)
End If
Комментарии:
1. Внутри
OnClick
вы не можете запросить значение, а затем передать его вFollowHyperlink
?2. как бы я запросил значение в OnClick? @paqogomez с помощью макроса?
3. Если я правильно читаю, вы пытаетесь отобразить эту ссылку в форме доступа? Вы говорите, что вы уже подключили форму к таблице с данными.
4. Извините, это было неясно. Мне не нужно, чтобы они это видели. Мне не нужны какие-либо текстовые поля или что-либо для заполнения в форме, просто кнопка, которая будет действовать как кнопка «перейти» и запустить ее, извлекая запись, установленную в фоновом режиме, а затем открывая гиперссылку
Ответ №1:
Вы должны извлечь данные из таблицы, а затем открыть их в виде гиперссылки. итак, что-то вроде этого:
Dim rs as recordset
Dim hyperlink as string
set rs = currentdb.openrecordset("Table")
rs.movefirst
hyperlink = rs![RelevantColumn]
rs.close
set rs = nothing
FollowHyperlink(hyperlink)
————————————РЕДАКТИРОВАТЬ
Мы нашли окончательное решение в комментариях:
Private Sub Criteria_Click()
anything3 = DLookup("TargetField", "sources", "[CriteriaField] = 'Criteria'")
FollowHyperlink anything3
End Sub
Комментарии:
1. Dlookup был бы намного более кратким способом сделать это.
2. Допустимая точка JohnFx, поскольку она использует меньше кода, с точки зрения производительности, однако это редко имеет значение. И VBA принимает эту строку JT4900, или что именно вы имеете в виду?
3. Я думаю, что использование dlookup или SelectWhereFrom сработало бы, но я не могу использовать gohyperlink или followhyperlink для выбранного значения. по сути, все, что делает dlookup (без текстового поля или перехода к таблице), решает ответ на уравнение, но ничего с ним не делает. Мне нужен способ запуска ранее выбранного значения
SELECT LinkLocations AS Expr1 FROM [TblLinkLocations] WHERE ((([TblLinkLocations].LinkName) = SAP
но это только выбирает значение, мне нужно перейти по следующей гиперссылке на выбранное значение4. я имел в виду комментарий JohnFx. как использовать dlookup в vba, но я понял, что задаю действительно глупый вопрос
5. вопросы никогда не бывают глупыми, тогда проблема решена? Возможно ли, что вы не совсем понимаете концепцию переменной?