powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по созданию справочной системы к программе Access
22 сообщений из 22, страница 1 из 1
Вопрос по созданию справочной системы к программе Access
    #39611037
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наличие контекстно зависимой справочной системы к программе повышает привлекательность и удобство работы.
Программа у меня более-менее устаканилась, пришла пора писать справочную систему. Когда-то я уже этим занимался. Писал справки под Access 97, 2000 и 2003.Писал я справки в формате HLP. Теперь работаю с Access 2010. Формат HLP Микрософт уже давно не поддерживает. И даже убрал компилятор со своего сайта. Написал справку в формате CHM. И привязал к программе.
Программа у меня разработана в формате MDB и сделана так, чтобы работала под любой версией Access начиная с 2000, и в любой разрядности (32 и 64). Есть пользователи, у которых до сих пор стоил Windows XP и Office 2003 (лицензия). Но вот незадача. в Access 2007 (ну в 2010 точно) работает справочная система CHM, а более младшие версии CHM не хотят подключать и требуют себе HLP. И как тут быть? Программы не ругаются, просто по F1 выводят справку Access, а не программы.


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611042
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
Насколько могу судить - даже если сделать "самую идеальную", "самую интерактивную" справку - все равно найдётся очень большой процент пользователей, которые читать её не будут. Вон мы даже видео работы с программой выкладывали по некоторым моментам. И толку? Так и будут будут задавать банальнейшие вопросы, которые лежат "на первых страницах справки". Потому, после некоторых раздумий и экспериментов не вижу смысла особо извращаться.. Потому как справка пишется , как оказалось, для себя, : что бы не забыть, где что в программе лежит и как работает, плюс возможность тыкнуть клиента в тот или иной раздел справки. А тот небольшой процент "читающих" пользователей разберутся в с любым форматом справки.

В данный момент справки делаю в WinCHM, выкладываю в формате Веб-справки. Проблем никаких. Разве что у пары клиентов браузеры не фурычили, но это отдельная тема.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611055
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже создал CHM справку. И подключил её к программе. Offline , без интернета. Таковы требования. Но вот В Access 2000-2003 она не работает. Саму её можно открыть и просмотреть, но вот она перестала быть контекстно зависимой. И по F1 не вызывается.
Впрочем появились кое-какие идеи. Черкану после, сейчас работа навалилась.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611068
Joss,

что, и старые трюки перестали работать?
Ошибка вызова справки(рис)
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611097
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TarasiosНасколько могу судить - даже если сделать "самую идеальную", "самую интерактивную" справку - все равно найдётся очень большой процент пользователей, которые читать её не будут.

+++++

Абсолютно пустая трата времени, тем более что очень маленький процент людей способен писать толковую техническую документацию, а тех кто потом способен её прочесть и понять в 100 раз меньше...

Гораздо продуктивнее делать обучающее видео (на форме кнопка - нажал посмотрел про эту форму), но это еще больший талант, по началу видео урок переписываешь раз по 10, потом еще компонуешь из разных кусков.

Сейчас пришел к выводу, что лучше показывать в форме меню при выборе пункта сразу короткую толковую текстовку, а уроки по ссылке показывать на сайте
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611184
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13-й квартал, нет там никаких старых трюков. Там то, что и я описал. CHM справка работает в 2010 и не работает в 2003. Пример Бенедикта.
Моя идея, подсмотренная где-то в и-нете, перехватывать нажатие клавиши F1 и в зависимости от версии по разному обрабртывать.
Для 2007 и выше
Код: vbnet
1.
   SendKeys "{F1}"

для 2003 и ниже
Код: vbnet
1.
   Shell "C:\Windows\hh.exe ""Здесь полное название справочного файла.chm::/Имя файла темы.htm#Имя_закладки""", 3 

Где-то так. Но вторую часть я ещё не проверял.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611193
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag, авторАбсолютно пустая трата времени... Ну я так не считаю. Сначала написал краткую инструкцию в Word (это я о себе). А потом загрузил её в программу создания СНМ справки (Я пользуюсь программой DrExplain, можно пользоваться и бесплатно, но в этом случае по всем рисункам будут идти название программы.). 1-2 дня и у тебя неплохая CHM справка. До супер справочной системы она не дотягивает, но дырку заткнуть может. У меня получается и инструкция в Word и справка в CHM.

Я не могу пользоваться OnLine справкой и обучающими роликами. Такова реальность. Только OffLine.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611196
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611234
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас описано, как заменить файл справки чем-то другим. Мне не надо заменить, мне надо подружить Access 2003 с CHM справкой. У меня прекрасно справка создаётся и поддерживается. И я не хочу ничего менять в сторону создания специальных форм, отчётов и модулей..
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611761
Joss13-й квартал, нет там никаких старых трюков. Там то, что и я описал. CHM справка работает в 2010 и не работает в 2003. Пример Бенедикта.Это работало тогда в WinXP+Access 2002, это работает сейчас в WinXP+Access 2003 и Win7+Access 2007. С особенностями, но работает. Ищите причину (наличие, регистрация hhctrl.ocx; лог Dependency Walker при нажатии F1 и т. п.).JossМоя идея, подсмотренная где-то в и-нете, перехватывать нажатие клавиши F1 и в зависимости от версии по разному обрабртывать.
Для 2007 и выше
Код: vbnet
1.
   SendKeys "{F1}"

для 2003 и ниже
Код: vbnet
1.
   Shell "C:\Windows\hh.exe ""Здесь полное название справочного файла.chm::/Имя файла темы.htm#Имя_закладки""", 3 

Где-то так. Но вторую часть я ещё не проверял.SendKeys "{F1}" - это naive implementation. IMHO, лучше HtmlHelp самому дёргать. Например, что-то вроде .
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611795
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня Win 7 32 bit и Access 2003 Справка CHM не вызывается. Вызывается общая справка Access.

Win 7 32 bit и Access 2010 32 bit. Справка CHM вызывается.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611810
4z4r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
может всё тупо в хтмл загнать и пользователю его в браузере показывать?
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39611936
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagTarasiosНасколько могу судить - даже если сделать "самую идеальную", "самую интерактивную" справку - все равно найдётся очень большой процент пользователей, которые читать её не будут.

+++++

Абсолютно пустая трата времени, тем более что очень маленький процент людей способен писать толковую техническую документацию, а тех кто потом способен её прочесть и понять в 100 раз меньше...

Гораздо продуктивнее делать обучающее видео (на форме кнопка - нажал посмотрел про эту форму), но это еще больший талант, по началу видео урок переписываешь раз по 10, потом еще компонуешь из разных кусков.

Сейчас пришел к выводу, что лучше показывать в форме меню при выборе пункта сразу короткую толковую текстовку, а уроки по ссылке показывать на сайте

Видео - хорошая вещь. Но вешать вызов видео или текстовой справки на кнопку рабочей формы - не всегда полезно, иногда даже может быть вредно. Например, кассир в магазине в запарке, очередь надо головой, всем всё бегом надо - и тут нечаянно нажимает кнопку справки - и начинает на весь экран (ну ладно, часть экрана) вылазить справка, или тем паче - видео :) А кассир в это время нажимала другие кнопочки. И надо теперь закрывать справку, смотреть, что успела нажать, а где нажатия "ушли в молоко", а при подключенном фискальном - это всё чревато...
В общем, думается мне, что справку надо учить ДО или После непосредственного "выхода в поле". Пример - лётчик лайнера на высоте 10 км отпускает управление и начинает изучать "Управление Аэрбусом для чайников" :)
Отсюда - даже вредно забивать экранную форму (рабочее место пользователя) кнопками вызова справки.
Отсюда - думается мне, что уважаемый Joss немного зациклился на "втыкании" вызова справки прямо в форму пользователя. Лучшее - враг хорошего...
Понятное дело, что это касается только части приложений, но всё же...
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39612027
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TarasiosНо вешать вызов видео или текстовой справки на кнопку рабочей формы - не всегда полезно, иногда даже может быть вредно.

Это я образно, на самом деле у меня в меню две кнопки рядом режим/урок, или то или то, в режим вошел - всё... работай, тоже кстати розница.

TarasiosОтсюда - думается мне, что уважаемый Joss немного зациклился на "втыкании" вызова справки прямо в форму пользователя. Лучшее - враг хорошего...

Так очень часто бывает у работящих и ответственных людей, зацикливаются, начинают шлифовать готовое вместо того чтобы взяться за новый проект, старые проекты уже никуда не денутся, их полезную мощность нужно только поддерживать
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39612054
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagTarasiosНо вешать вызов видео или текстовой справки на кнопку рабочей формы - не всегда полезно, иногда даже может быть вредно.

Это я образно, на самом деле у меня в меню две кнопки рядом режим/урок, или то или то, в режим вошел - всё... работай, тоже кстати розница.

TarasiosОтсюда - думается мне, что уважаемый Joss немного зациклился на "втыкании" вызова справки прямо в форму пользователя. Лучшее - враг хорошего...

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

Ситуации и требования, канеш, разные бывают. Но в то же время, думаю, стоит помнить цену разницы между хорошо и очень хорошо, и какой кровью оно достигается. Стоит ли оно того?

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

Форм у меня не так уж и много, всего 30. Из них основных - 8. Разместил на каждой кнопку " Инфо " - аналог F1 /
На нажатие поместил такой код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub btnHelp_Click()
' проверяется версия Access >= 2007
    If fnAccessVersion() >= 12 Then
' если >= 2007
        SendKeys "{F1}"
    Else
' если < 2007
    Dim a As String, b As String, c As String
' определяем путь к папке Windows
        a = fnBuildPath(fnGetWindowsFolder(), "hh.exe ")
' определяем путь к папке с файлом справки (папка с программой)
        b = fnBuildPath(CurrentProject.Path, "ONS.CHM")
' собираем строку и подключаем выбор раздела справки
        c = a & """" & b & "::/zadanie_familij_i_dolzhnostej_otvetstvennykh_ispolnitelej.htm#" _
        & "IDH_TOPIC_ZADANIE_FAMILIJ_I_DOLZHNOSTEJ_OTVETSTVENNYKH_ISPOLNITELEJ" & """"
' открываем справку на выбранном разделе
        Shell c    
    End If
End Sub


Вспомогательные программы
Код: vbnet
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.
Public Function fnAccessVersion() As Single

    Dim strversion As String
    strversion = SysCmd(acSysCmdAccessVer)
    fnAccessVersion = CSng(Val(strversion))

End Function

'---------------------------------------------------------------------------------------
' Procedure : fnBuildPath
' DateTime  : 13.06.2006 14:24
' Author    : DSonnyh
' Purpose   : Создание строки путем слияния аргументов и добавления между ними \ (если его нет)
'---------------------------------------------------------------------------------------
'
Public Function fnBuildPath(strPath As String, strName As String) As String
' strPath - строка, имеющая смысл полного или относительного каталога
' strName - строка, имеющая смысл относительного имени каталога или файла
   On Error GoTo fnBuildPath_Error
    
    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")

    fnBuildPath = objFSO.BuildPath(strPath, strName)
    Set objFSO = Nothing

   On Error GoTo 0
   Exit Function

fnBuildPath_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure fnBuildPath of Module objFSO"
    Set objFSO = Nothing

End Function

'---------------------------------------------------------------------------------------
' Procedure : fnGetWindowsFolder
' DateTime  : 22.10.2015 15:43
' Author    : DSonnyh
' Purpose   : Получение ссылки на объект Folder, связанный папкой Windows.
'---------------------------------------------------------------------------------------
'
' Назначение. Получение ссылки на объект Folder, связанный папкой Windows.
' Возвращает Объектную ссылку на объект типа Folder.
' objFSO - ссылка на созданный объект FileSystemObject
Public Function fnGetWindowsFolder() As String

    Dim sResult As String

    On Error GoTo fnGetWindowsFolder_Error
    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    sResult = objFSO.GetSpecialFolder(0)
    Set objFSO = Nothing
    fnGetWindowsFolder = sResult

Exit_fnGetWindowsFolder:

    On Error GoTo 0
    Exit Function

fnGetWindowsFolder_Error:

     MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure fnGetWindowsFolder of Module mdl_FSO"
     Resume Exit_fnGetWindowsFolder

End Function 

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

vbNormalFocus - 1 - рекомендую
vbHide - 0
vbMaximizedFocus - 3
vbMinimizedFocus - 2
vbMinimizedNoFocus - 6
vbNormalNoFocus - 4

Пример:
Код: vbnet
1.
2.
' открываем справку на выбранном разделе
        Shell c, vbNormalFocus    

или
Код: vbnet
1.
2.
' открываем справку на выбранном разделе
        Shell c, 1   
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39614053
_КВВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossЧто сделал.Форм у меня не так уж и много, всего 30. Из них основных - 8. Разместил на каждой кнопку " Инфо " - аналог F1 /
На нажатие поместил такой код
Можно еще так http://am.rusimport.ru/MSAccess/topic.aspx?ID=283, или покороче http://www.interface.ru/home.asp?artId=7534.
Справку собирал в Help & Manual 6. Ссылки на разделы справки работают исправно https://yadi.sk/d/BcISKNji3TJuem.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39614652
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Правда самой справки не видно. Я собираю справку программой DrExplain. Попроще. Создал её из Word-овского файла инструкции. Когда-то делал справки в формате HLP. Остались наработки. Но поддержка HLP давно прекращена, приходится переходить на CHM.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39614656
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, моё решение об использовании кнопки легко переделать на перехват нажатия клавиш. И в нём совсем не используется API.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39614802
_КВВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossСпасибо. Правда самой справки не видно. Я собираю справку программой DrExplain. Попроще. Создал её из Word-овского файла инструкции. Когда-то делал справки в формате HLP. Остались наработки. Но поддержка HLP давно прекращена, приходится переходить на CHM.Из архиватора файл справки не виден, нужно разархивировать всю папку. Как и в DrExplain в H&M файл справки создается в т.ч. и из .rtf-файла, созданного в Word_е. При этом разделы справки удобно создаются автоматом в зависимости от форматов абзацев этого .rtf-файла. Вручную в H&M разбивать Кодексы РФ по разделам и статьям, раскрашивать цветом части текста было бы солнце-вручную-закатно. А в vb Word_а это не трудно. Интерфейс DrExplain выглядит привлекательно. Спасибо.
...
Рейтинг: 0 / 0
Вопрос по созданию справочной системы к программе Access
    #39615175
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть проблемы со справками в формате CHM. Но они уже зависят от ОС.
Если справка расположена на сетевом диске, то можно просмотреть только заголовки разделов в левой панели. Само содержание справки не отображается.
Справка собрана стандартной программой HTML Help Workshop.
Замечено на Windows 7 SP1 32bit, Windows Server 2008R2 64 bit
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по созданию справочной системы к программе Access
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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