Microsoft Access- запуск гиперссылки, содержащейся в таблице данных, с помощью кнопки, расположенной на форме

#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. вопросы никогда не бывают глупыми, тогда проблема решена? Возможно ли, что вы не совсем понимаете концепцию переменной?