Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по созданию справочной системы к программе Access / 22 сообщений из 22, страница 1 из 1
06.03.2018, 09:57
    #39611037
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
Наличие контекстно зависимой справочной системы к программе повышает привлекательность и удобство работы.
Программа у меня более-менее устаканилась, пришла пора писать справочную систему. Когда-то я уже этим занимался. Писал справки под 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
06.03.2018, 10:12
    #39611042
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
Joss,
Насколько могу судить - даже если сделать "самую идеальную", "самую интерактивную" справку - все равно найдётся очень большой процент пользователей, которые читать её не будут. Вон мы даже видео работы с программой выкладывали по некоторым моментам. И толку? Так и будут будут задавать банальнейшие вопросы, которые лежат "на первых страницах справки". Потому, после некоторых раздумий и экспериментов не вижу смысла особо извращаться.. Потому как справка пишется , как оказалось, для себя, : что бы не забыть, где что в программе лежит и как работает, плюс возможность тыкнуть клиента в тот или иной раздел справки. А тот небольшой процент "читающих" пользователей разберутся в с любым форматом справки.

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

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

+++++

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

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

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

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

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

Я не могу пользоваться OnLine справкой и обучающими роликами. Такова реальность. Только OffLine.
...
Рейтинг: 0 / 0
06.03.2018, 13:46
    #39611196
час58
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
...
Рейтинг: 0 / 0
06.03.2018, 14:39
    #39611234
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
У Вас описано, как заменить файл справки чем-то другим. Мне не надо заменить, мне надо подружить Access 2003 с CHM справкой. У меня прекрасно справка создаётся и поддерживается. И я не хочу ничего менять в сторону создания специальных форм, отчётов и модулей..
...
Рейтинг: 0 / 0
07.03.2018, 12:29
    #39611761
Вопрос по созданию справочной системы к программе Access
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
07.03.2018, 13:24
    #39611795
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
У меня Win 7 32 bit и Access 2003 Справка CHM не вызывается. Вызывается общая справка Access.

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

+++++

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

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

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

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

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

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

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

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

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

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

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

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

Форм у меня не так уж и много, всего 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
12.03.2018, 10:22
    #39613237
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
Да, к строке вызова справки можно добавить следующие параметры

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
13.03.2018, 12:39
    #39614053
_КВВ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
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
14.03.2018, 12:08
    #39614652
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
Спасибо. Правда самой справки не видно. Я собираю справку программой DrExplain. Попроще. Создал её из Word-овского файла инструкции. Когда-то делал справки в формате HLP. Остались наработки. Но поддержка HLP давно прекращена, приходится переходить на CHM.
...
Рейтинг: 0 / 0
14.03.2018, 12:11
    #39614656
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
Да, моё решение об использовании кнопки легко переделать на перехват нажатия клавиш. И в нём совсем не используется API.
...
Рейтинг: 0 / 0
14.03.2018, 15:14
    #39614802
_КВВ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
JossСпасибо. Правда самой справки не видно. Я собираю справку программой DrExplain. Попроще. Создал её из Word-овского файла инструкции. Когда-то делал справки в формате HLP. Остались наработки. Но поддержка HLP давно прекращена, приходится переходить на CHM.Из архиватора файл справки не виден, нужно разархивировать всю папку. Как и в DrExplain в H&M файл справки создается в т.ч. и из .rtf-файла, созданного в Word_е. При этом разделы справки удобно создаются автоматом в зависимости от форматов абзацев этого .rtf-файла. Вручную в H&M разбивать Кодексы РФ по разделам и статьям, раскрашивать цветом части текста было бы солнце-вручную-закатно. А в vb Word_а это не трудно. Интерфейс DrExplain выглядит привлекательно. Спасибо.
...
Рейтинг: 0 / 0
15.03.2018, 09:17
    #39615175
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по созданию справочной системы к программе Access
Есть проблемы со справками в формате CHM. Но они уже зависят от ОС.
Если справка расположена на сетевом диске, то можно просмотреть только заголовки разделов в левой панели. Само содержание справки не отображается.
Справка собрана стандартной программой HTML Help Workshop.
Замечено на Windows 7 SP1 32bit, Windows Server 2008R2 64 bit
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по созданию справочной системы к программе Access / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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