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

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

> остальное


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

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

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

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

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

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

1. Тогда к этому полю можно создать обработчик событий, например выберем - OnClick.
2. Теперь туда на VBA можно попытаться запихнуть код, который будет максимизировать окно Access
3. .... код ща накодим и проверим
...
Рейтинг: 0 / 0
01.10.2003, 17:45
    #32281112
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
Ага, не молчат, ну мы тут тоже ща кое-что накодим...
...
Рейтинг: 0 / 0
01.10.2003, 17:54
    #32281120
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
Вставить в отдельный модуль.
Вызывать 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
01.10.2003, 17:54
    #32281121
G&P
G&P
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
SergeySV, при таком обработчике событий окно ворда останется за окном акса, что опять же неудобно.
...
Рейтинг: 0 / 0
01.10.2003, 18:02
    #32281133
Elene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
Всем огромное спасибо. Мне, к сожалению, пора домой, сегодня не успею проверить ваши предложения. Если кто-то что-то придумает, я завтра попробую. Хочу только сказать, что мы придумали обходной способ: открываем по кнопке вторую форму для выбранной записи, которая содержит одни гиперссылки, и эта форма модальная и всплывающая, с нее можно их открывать, и Access не пропадает. А потом просто закрываем ее и возвращаемся в нормальную форму. Но это лишние два нажатия кнопок получается. Может быть, есть способ проще?
...
Рейтинг: 0 / 0
01.10.2003, 18:20
    #32281154
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
2G&P: Я об этом думал с самого начала, поэтому окно Access нужно разварачивать не делая его активным и он тогда не будет мешать на экране. У меня получилось, правда только с SW_MAXIMIZE, с SW_SHOWNORMAL там небольшие глюки получаются, окно нового документа почему то тоже как SW_SHOWNORMAL открывается с такими же размерами - смешно
...
Рейтинг: 0 / 0
01.10.2003, 18:36
    #32281172
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
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
02.10.2003, 12:15
    #32281766
Elene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
2SergeySV. Все равно не работает. То есть видно, что окно Access увеличивается на весь экран, а потом открывается Word по гиперссылке, и Access минимизируется. Если бы можно было запустить процедуру ПОСЛЕ срабатывания гиперссылки, это бы, наверное, помогло.

2АлексейК. Другим способом открывать документ Word вряд ли получится, потому что каждой записи соответствует отдельный документ (4 штуки), уже сейчас там 80 записей, и к тому же эту базу заказчик потом будет сам заполнять. Но если есть какой-то способ - подскажите.
...
Рейтинг: 0 / 0
02.10.2003, 13:31
    #32281905
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
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
02.10.2003, 13:38
    #32281922
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
Код: plaintext
Call Shell( SysCmd(acSysCmdAccessDir) &  "winword.exe "  & Me.docname1, vbMinimizedNoFocus)


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

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

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

Видно, все же наш вариант (с 2 формами) по совокупности параметров подходит лучше всего. И всем огромное спасибо.
...
Рейтинг: 0 / 0
02.10.2003, 14:14
    #32281998
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
2 Elene
У нас очень много документов в базе, если все они останутся висеть, народ (заказчик) нас не поймет.
А вы бы, прежде чем писать, попробовали-таки кнопочку-то нажать. Тогда бы и увидели, что winword.exe остается висеть пустой, т.е. документ закрывается, и следующие документы в существующем экземпляре открываются (новых вордов не октрывается).
Так что никто не висит, и много документов или мало - абсолютно по барабану.
...
Рейтинг: 0 / 0
02.10.2003, 14:18
    #32282004
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
Код: 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
02.10.2003, 14:35
    #32282038
CtrlAlt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
Можно этот ваш вариант с формами немного улучшить.

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
02.10.2003, 15:26
    #32282150
Elene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно Access скрывается при вызове гиперссылки
2Лох Позорный. Ну конечно, я сразу попробовала. Все висят. Может, это где-то в настройках регулируется, чтобы документы закрывались, но я не знаю, как.

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


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