powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Окно Access скрывается при вызове гиперссылки
25 сообщений из 27, страница 1 из 2
Окно Access скрывается при вызове гиперссылки
    #32280642
Elene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите! Ни на одном форуме не ответили. У меня Access2000. Я вызываю из формы гиперссылку, входя в поле гиперссылки. При этом окно Access минимизируется. Это ужасно неудобно, особенно если открыто много окон, потому что надо каждый раз искать нужное окно в панели задач и т.д. Я пробовала сделать форму модальной и всплывающей. Тогда все нормально, но не открывается фильтр в виде формы (byForm), а это необходимо. И отчет на заднем плане открывается и потом нельзя закрыть. В общем, невозможно работать с базой. Есть ли какие-то стандартные настройки в Access, которые позволят решить проблему? Заранее спасибо, извините, что несколько не по теме(SQL).
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281036
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Помогите! Ни на одном форуме не ответили

видимо не заинтересовал твой вопрос.

> остальное


у меня например (win 2003) после нажатия на гиперссылку аксесс не сворачивается, просто окно браузера выскакивает поверх

так много текста но ничего не понятно ... а чего надо то?

минимизировать окно браузера? вывести браузер на форме ?
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281055
Elene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я, может, что не так объяснила. У меня в форме есть поле, содержащее гиперссылки на документы Word, лежащие в том же каталоге, что и база Access. Я пользуюсь формой для поиска записей по каким-то параметрам и просмотра этих документов (по гиперссылке). Ну, открываю я по гиперссылке Word, потом закрываю, а Access минимизировался, и я вижу на экране либо пустой десктоп, либо окно другой программы, которая тоже открыта. А мне нужно, чтобы я при закрытии Word попадала обратно в форму и могла и дальше заниматься этим полезным делом, а не искать на нижней панели нужное окно.

У меня win2000, XP и win98, и везде одно и то же.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281066
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно, эффект не приятный (Adp/acess 2000 +sp3)
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281073
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю что в качестве решения остается только добавить к гиперсылке еще обработчик типа Click на VBA. Выполняться от будет после перехода по гиперсылке и тут уже можно вплотную в тихоря заняться окном Access...
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281083
Elene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А нельзя ли поточнее, какую процедуру? Мы пробовали вешать на клик разные процедуры, но ничего не помогает.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281094
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше использовать не гиперссылку а открытие документа ворд другими способами:

через createobject или cmdshell
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281103
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, пока наши гуру молчат, попробуем пойти дальше этой дорогой...

У тебя на форме есть поле, которое содержит гипперсылку?

1. Тогда к этому полю можно создать обработчик событий, например выберем - OnClick.
2. Теперь туда на VBA можно попытаться запихнуть код, который будет максимизировать окно Access
3. .... код ща накодим и проверим
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281112
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, не молчат, ну мы тут тоже ща кое-что накодим...
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281120
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставить в отдельный модуль.
Вызывать ShellExecuteMy (Что-то)
если что-то будет именем файла, то откроеться связанная с этим расширениемпрога, если гиперссылкой - то откроеться брайзер, если е-маил - то почтовый клиент, если каталог- то папка, если ...
Короче - хорошая штука :)

В данном случае надо (наеврное) сделать рядом с полем, хранящим имя файла кнопку - на событие НажатиеКнопки повесить ShellExecuteMy (Me("ИмяПоля").Value)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
Option Compare Database
Option Explicit

'************ Code Start **********



Private Declare Function apiShellExecute Lib "shell32.dll" _
                                         Alias "ShellExecuteA" _
                                         (ByVal hWnd As Long, _
                                          ByVal lpOperation As String, _
                                          ByVal lpFile As String, _
                                          ByVal lpParameters As String, _
                                          ByVal lpDirectory As String, _
                                          ByVal nShowCmd As Long) _
                                         As Long

'***App Window Constants***
Public Const WIN_NORMAL =  1     'Open Normal
Public Const WIN_MAX = 2    'Open Maximized
Public Const WIN_MIN =  3     'Open Minimized

'***Error Codes***
Private Const ERROR_SUCCESS =  32 &
Private Const ERROR_NO_ASSOC =  31 &
Private Const ERROR_OUT_OF_MEM =  0 &
Private Const ERROR_FILE_NOT_FOUND =  2 &
Private Const ERROR_PATH_NOT_FOUND =  3 &
Private Const ERROR_BAD_FORMAT =  11 &

'***************Usage Examples***********************
'Open a folder: ?ShellExecuteMy( "C:\TEMP\" ,WIN_NORMAL)
'Call Email app: ?ShellExecuteMy("mailto:dash10@hotmail.com",WIN_NORMAL)
'Open URL: ?ShellExecuteMy( "http://home.att.net/~dashish" , WIN_NORMAL)
'Handle Unknown extensions (call Open With Dialog):
' ?ShellExecuteMy( "C:\TEMP\TestThis" ,Win_Normal)
'Start Access instance:
' ?ShellExecuteMy( "I:\mdbs\CodeNStuff.mdb" , Win_NORMAL)
'****************************************************

Function ShellExecuteMy(stFile As String, Optional lShowHow As Long = WIN_NORMAL)
    Dim lRet As Long, varTaskID As Variant
    Dim stRet As String
    'First try ShellExecute
    lRet = apiShellExecute(hWndAccessApp, vbNullString, _
                           stFile, vbNullString, vbNullString, lShowHow)

    If lRet > ERROR_SUCCESS Then
        stRet = vbNullString
        lRet = - 1 
    Else
        Select Case lRet
            Case ERROR_NO_ASSOC:
                'Try the OpenWith dialog
                varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _
                                & stFile, WIN_NORMAL)
                lRet = (varTaskID <> 0)
            Case ERROR_OUT_OF_MEM:
                stRet = "Error: Out of Memory/Resources. Couldn't Execute! "
            Case ERROR_FILE_NOT_FOUND:
                stRet = " Error: File not found. Couldn't Execute!"
            Case ERROR_PATH_NOT_FOUND:
                stRet = "Error: Path not found. Couldn't Execute! "
            Case ERROR_BAD_FORMAT:
                stRet = " Error: Bad File Format. Couldn't Execute!"
            Case Else:
        End Select
    End If
    ShellExecuteMy = lRet & _
                     IIf(stRet = "", vbNullString, ", " & stRet)
End Function
'************ Code End **********

...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281121
G&P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeySV, при таком обработчике событий окно ворда останется за окном акса, что опять же неудобно.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281133
Elene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем огромное спасибо. Мне, к сожалению, пора домой, сегодня не успею проверить ваши предложения. Если кто-то что-то придумает, я завтра попробую. Хочу только сказать, что мы придумали обходной способ: открываем по кнопке вторую форму для выбранной записи, которая содержит одни гиперссылки, и эта форма модальная и всплывающая, с нее можно их открывать, и Access не пропадает. А потом просто закрываем ее и возвращаемся в нормальную форму. Но это лишние два нажатия кнопок получается. Может быть, есть способ проще?
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281154
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2G&P: Я об этом думал с самого начала, поэтому окно Access нужно разварачивать не делая его активным и он тогда не будет мешать на экране. У меня получилось, правда только с SW_MAXIMIZE, с SW_SHOWNORMAL там небольшие глюки получаются, окно нового документа почему то тоже как SW_SHOWNORMAL открывается с такими же размерами - смешно
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281172
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Elene: посмотри для начала такой упрощенный примерчик, он работает без нажатия всяких доп. клавиш, как посмотришь, елси понравится можно уже навернуть и по более (использовать примерчик Senin Viktor)

Значит так:
1. Добавь в базу новый модуль и вставь туда код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Option Compare Database
Option Explicit

Private Declare Function ShowWindow Lib  "user32"  (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOWNORMAL =  1 
Const SW_MAXIMIZE =  3 
   
Public Sub MaxWindowAccess()
  Dim hWnd As Long
    
  ' получаем хэндл главного окна Access
  hWnd = Application.hWndAccessApp
  ' заставляем его развернуться
  ShowWindow hWnd, SW_MAXIMIZE

End Sub


2. Теперь перейди на свое форме в режим контсруктора, щелкни пр. кнопкой мыши на своем Поле с гиперсылкой, выбери свойства, вкладка - События, там - "Нажатие кнопки" (в англ. OnClick), и вставляем там строку: MaxWindowAccess. Должно получится в итоге что-то типа такого:
Код: plaintext
1.
2.
3.
Private Sub Поле1_Click()
  MaxWindowAccess
End Sub
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281766
Elene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2SergeySV. Все равно не работает. То есть видно, что окно Access увеличивается на весь экран, а потом открывается Word по гиперссылке, и Access минимизируется. Если бы можно было запустить процедуру ПОСЛЕ срабатывания гиперссылки, это бы, наверное, помогло.

2АлексейК. Другим способом открывать документ Word вряд ли получится, потому что каждой записи соответствует отдельный документ (4 штуки), уже сейчас там 80 записей, и к тому же эту базу заказчик потом будет сам заполнять. Но если есть какой-то способ - подскажите.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281905
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Acc 2002 ADP
простой способ

код для кнопки или события даблклик поля (не гиперссылка а просто текст)
в минимизированном окне и без фокуса
Код: plaintext
 Call Shell( "C:\Program Files\Microsoft Officexp\Office10\winword.exe "  & Me.docname1, vbMinimizedNoFocus)


в максимизированном окне и с фокусом
Код: plaintext
Call Shell( "C:\Program Files\Microsoft Officexp\Office10\winword.exe "  & Me.docname1, vbMaximizedFocus)
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281922
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Call Shell( SysCmd(acSysCmdAccessDir) &  "winword.exe "  & Me.docname1, vbMinimizedNoFocus)


будем считать что аксесс установлен в тот же каталог что и ворд
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281932
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, открываю я по гиперссылке Word, потом закрываю, а Access минимизировался

Гмм...
Простите, коллеги, а никто не пробовал вместо закрытия ворда (куда ушли по гиперссылке) просто нажать там кнопочку Back (как в Internet Explorer)? И преспокойно вернемся в любимый аксес, и можно " и дальше заниматься этим полезным делом, а не искать на нижней панели нужное окно ". Правда, таким образом ворд остается открытым, ну да вроде жалоба не на это была.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281984
Elene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2АлексейК. А как это поле заполнять? Можно как-то автоматизировать процесс? Или только вручную набивать? Все-таки гиперссылка добавляется через браузер.

2Лох Позорный. У нас очень много документов в базе, если все они останутся висеть, народ (заказчик) нас не поймет.

Видно, все же наш вариант (с 2 формами) по совокупности параметров подходит лучше всего. И всем огромное спасибо.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32281998
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Elene
У нас очень много документов в базе, если все они останутся висеть, народ (заказчик) нас не поймет.
А вы бы, прежде чем писать, попробовали-таки кнопочку-то нажать. Тогда бы и увидели, что winword.exe остается висеть пустой, т.е. документ закрывается, и следующие документы в существующем экземпляре открываются (новых вордов не октрывается).
Так что никто не висит, и много документов или мало - абсолютно по барабану.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32282004
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
Dim FD 
Set FD = Application.FileDialog( 1 )
FD.AllowMultiSelect = False
FD.Show
 Me.docname1 = dlgOpen.SelectedItems.Item( 1 )
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32282038
CtrlAlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно этот ваш вариант с формами немного улучшить.

1. Создать вторую форму типа PopUp. Назовем ее TempForm
2. Убрать с неё все Navigation Buttons, Divide Lines, Record Selectors, Scroll Bars=Neither, Border Style=None. Т.е. при открытии такой формы не должно вообще ничего появится (форма открыта, но ее не видно - закрыть Alt-F4).

3. На control с hyperlink (у меня "B") на событие MouseDown повесить функцию:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub B_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
DoCmd.OpenForm  "TempForm" 
    
    Application.FollowHyperlink Me.B.Hyperlink.Address
    DoCmd.CancelEvent
 
DoCmd.Close acForm,  "TempForm" 
End Sub
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32282150
Elene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Лох Позорный. Ну конечно, я сразу попробовала. Все висят. Может, это где-то в настройках регулируется, чтобы документы закрывались, но я не знаю, как.

2CtrlAlt. Отлично работает! Быстро и незаметно! Класс. Спасибо большое.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32282194
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Elene
Т.е. жмете кнопку "назад" - а документ в ворде остается открытым??? Оч странно. У меня все закрывается. Офис - 97-й.
...
Рейтинг: 0 / 0
Окно Access скрывается при вызове гиперссылки
    #32282228
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял. Если документ изменен и не сохранен - то он и остается открытым. Логично
Если документ не изменять или сохранить изменения - он закрывается. Иначе просто в аксес переходит.
Ну в общем это.. Мое дело предложить :)
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Окно Access скрывается при вызове гиперссылки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]