powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / На одних компьютерах программа работает, на других - нет.
46 сообщений из 46, показаны все 2 страниц
На одних компьютерах программа работает, на других - нет.
    #39385901
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Следующая ситуация.

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

На сервере стоит Windows 7 64 bit, Office 2010 32 bit и Office 2003
У меня на компьютере стоит Windows 7 32 bit, Office 2010 32 bit и Office 2003

Первоначально всё работало нормально. Потом после какого-то обновления произошла следующая история. Программа разработанная на моём компьютере отказывается работать на сервере. Выдаёт сообщение типа "Ошибка в запросе. Должно быть INSERT, UPDATE или DELETE" не дословно, но смысл похожий. Делаешь сжатие-восстановление, программа начинает работать на сервере. Зато перестаёт работать на моём компьютере. С тем же сообщением. Делаю уже у себя сжатие-восстановление, программа начинает работать у меня, но прекращает на сервере. Системщик только разводит руками и что-то говорит о разных обновлениях. По моему настоянию с сервера снесли оба офиса и установили Office 2010 32 bit заново. Ошибка ушла.

Примерно через три месяца, после очередных обновлений, похожая ситуация всплыла у заказчиков, которым рассылались новые версии программы. У части заказчиков программа отказывалась работать с аналогичным сообщением. Причём на работе и у меня дома программа она запускалась без проблем. По моей инструкции пользователи на местах произвели сжатие-восстановление программы. У части она заработала, а у части - нет.

Что сделал. Дома под Windows XP в Access 2003 произвёл декомпиляцию программы. Затем поджал её. Программа заработала и на тех машинах, где раньше отказывалась работать.

Кто-нибудь встречался с такими проблемами? Как их решали? И что надо делать, чтоб их избежать?

-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39385907
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понимаю, что под словом "программа" тут разумеется обычная БД в формате MDB?
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39385915
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что за сервер? Если база Access только оболочка, проверьте DISTINCTROW в запросах. Система должна решить, что исполнять клиенту, а что серверу. Нужно смотреть текст запросов где происходит ошибка.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39385919
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополнительная информация.
Программа сделана в формате Access 2000, mdb. Запускалась на Access с 2000 до 2016.
ActiveX не используется, API используется. Программа разрабатывалась и работает в 32-х и 64-х разрядных офисах. И до нашего переезда никаких проблем не возникало. Вот только на старом месте в качестве операционки стояла Windows XP.

Статистику набрать к сожалению не могу Во многих местах в качестве операторов сидят пожилые женщины, которые не могут сказать, что у них за операционка и какая версия офиса.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39385940
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения. Ошибся. На сервере стоит операционка Windows Server 2008 R2 SP1 64 бит.

Программа представляет собой разделённую базу в формате MDB. Один файл с кодом, другой - с данными. Нужно поместить их в один каталог в любом разрешенном месте. Автоматически подключаются таблица и начинается работа.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39385966
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Сделайте резервную копию.
2. Декомпилируйте базу, сожмите, закройте. Откройте, скомпилируйте, сожмите, закройте. Сделайте защищенный MDE файл. Он должен копироваться в VBA.Environ("TEMP") пользователя. Именно с ним он должен работать.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39385995
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это надо делать на каждом рабочем месте. Там где не работает программа. Сейчас таких пользователей 6-8. Но у меня могут быть неточные сведения. Часть информации до меня могла просто не дойти. Всего пользователей более 80. Т.е в среднем на одном из 9-10 компьютеров такая неприятность. Некоторые находятся на расстоянии 300-400 км, некоторые ещё далее. Ездить по пользователям - не выход.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386015
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользователи должны работать на терминальном сервере, куда заходят через удаленный доступ. При подключении выполняется start.cmd
@copy db.mde %TEMP% /y
@start "C:\Program Files\Microsoft Office\Office15\msaccess.exe" %TEMP%/db.mde
@exit
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386220
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не путайте то что делаете для своей организации и то, что рассылается сторонним пользователям. Какой терминальный сервер? Какой удалённый доступ? Вы о чём? Не везде и Access стоит. Не везде даже системщики свои есть.

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

Свои пять копеек.
Делал проги, рассылал клиентам. И постоянно ловил таких аналогичных "Барабашек", пока не привёл всех к единому стандарту. А именно рантайм 2007. Иначе идут конфликты библиотек "и всё такое прочее".
На крайний случай, если народ не хочет/не умеет удалять из своих Офисов компонент Access, рекомендую ставить одновременно рантайм 2007 и цеплять на ярлычок запуска программы её запуск именно из под рантайма.
Под рантайм, кста, отлично идёт и mdb, и mde.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386302
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и иногда проблемы запуска у клиентов совсем по другим причинам: маниакальный уровень настройки антивирусов, урезанные права юзеров в Винде, плюс сам Офис порой согласно установленному уровню безопасности считает запуск проги недопустимым ;)
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386473
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошие пожелания так и останутся пожеланиями. У одних стоит лицензитя, у других - пиратка, У одних 32 бит, у других - 64. У одних 2003, у других - 2013. И ничего изменить нельзя. Это не наши подразделения. Не они хотят взять у нас программу, а мы просим, чтоб они у нас её взяли. Вот такие дела.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386483
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, так я не зря упомянул про Рантайм 2007, установленный параллельно. Ну и в ялыке запуска вашего приложения, в "Ярлык" - в поле "Объект" вставить строку принудительного запуска приложения Рантаймом, что то типа
"C:\Program Files (x86)\Microsoft Office\Office12\msaccess.exe" "C:\Каталог\ИмяПроги.mdb"
Только уточнить надо где именно лежит файл запуска рантайма, лень искать.
Вот, к слову, похожее здесь же обсуждалось:
http://www.sql.ru/forum/1235622/access-runtime-sovmestimost?hl=runtime
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386639
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотри написанное выше. Никто лишних телодвижений делать не будет. Никто не будет скачивать рантайм и ставить его параллельно уже стоящему Access. Тем более 32-х и 64-х версии Access несовместимы. Это по официальной информации от Микрософта. Хотя я ухитрялся запускать и работать в портабле версии Офиса 2003 при параллельно установленном Офисе 2010 64 бит.

Пока решил следующее. После отладки программы нести её домой. Там под ХР на 2003 декомпилировать и сжимать без компиляции и рассылать в таком виде.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386672
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте так:
#If VBA7 Then
Public Declare PtrSafe Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (pwszKLID As Any) As Long
Public Declare PtrSafe Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal HKL As String, ByVal Flags As Long) As Long

#Else
Public Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (pwszKLID As Any) As Long
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal HKL As String, ByVal Flags As Long) As Long

#End If
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386716
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulBПопробуйте так:
#If VBA7 Then
Public Declare PtrSafe Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (pwszKLID As Any) As Long
Public Declare PtrSafe Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal HKL As String, ByVal Flags As Long) As Long

#Else
Public Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (pwszKLID As Any) As Long
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal HKL As String, ByVal Flags As Long) As Long

#End If
Извините, я не понял к чему это? Можете пояснить?
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386771
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы написали об использовании API. Что бы это работало под разными версиями Access используйте условную компиляцию
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386785
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
А вы пытались понять, почему именно возникает ошибка? Код под отладкой смотрели? Сжатие может влиять на некоторые вещи, но возможно, основная ошибка именно в коде или в данных. Например, могли возникнуть битые строки в таблице, из-за чего код работает вообще непонятно как.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386788
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое сообщение об ошибке обычно выдается, когда программа пытается выполнить неверный запрос, который даже не начинается с INSERT, UPDATE или DELETE
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39386965
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, ну, идти на поводу у ленивых клиентов тоже нужно и можно до каких то определённых пределов. Практика показывает, что сами потом крайним останетесь ;)
По поводу "32-х и 64-х версии Access". А при чём тут разрядность, если вы запускаете прогу из под Рантайма, фактически - из под независимой отдельной копии Access? Эта такая штука, как я успел убедиться - отлично бегает хоть на XP, хоть на 10-ке. Проверял сам лично на XP, XP/64, 2003 Server, 7/32, 7/64, 8.1, юзеры пишут - что и на 10-ке полёт нормальный.
Кроме того, я говорил, что могут иметь место факторы "вне самого Access".
То, что "никто не будет ничего делать" -
а) не факт, но допустим
б) Сделайте это "сами": вышлите в инсталляхе тот же Рантайм, прикрутите батничек на разовую установку и вуаля.
Можно даже сделать достаточно полноценный инсталлятор, например, при помощи InnoSetup. Тогда клиент запускает одну инсталляшку.
Ну, через удалённый доступ можете зайти к клиенту, сами настроить - если это важно. Иногда и мне приходится так делать - это проще и быстрее.
В общем, я бы тут проблему разделил на две части:
1. Проверить на практике сам принцип и возможность решения проблемы косяков с помощью рантаймов. Думается мне, что это проще и быстрее сделать именно на практике, чем гадать и теоретизировать до бесконечности ;)
2. Способ установки необходимого комплекта на комп юзерам. Тут уже варианты на ваш выбор.
Разумеется, я не смею настаивать - в конце концов, это у вас проблема, и варианты поиска решений - тоже у вас.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39387369
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы, постараюсь ответить каждому.

to PaulB

У меня всё это сделано в программе, и как я писал выше она прекрасно работает на всех версиях Офиса от 2000 до 2016 и на 32-х и 64-х битных версиях. Всё дело в том, что на 9 компьютерах из 10 программа запускается, а на десятом - нет. Причём это не связано ни с версией офиса, ни с его разрядностью.

to MrShin

авторА вы пытались понять, почему именно возникает ошибка? Код под отладкой смотрели? Сжатие может влиять на некоторые вещи, но возможно, основная ошибка именно в коде или в данных. Например, могли возникнуть битые строки в таблице, из-за чего код работает вообще непонятно как.
Ошибка возникает до первой точки останова. Ставишь точку останова в самом первом выполняемом операторе. Ошибка возникает до неё. Ни данные, ни код не испорчен. Берёшь работающую программу, ставишь на проблемный компьютер - не работает. Ставишь на исходный - работает. Проблема на работе была решена сносом офиса и повторной установкой.

авторТакое сообщение об ошибке обычно выдается, когда программа пытается выполнить неверный запрос, который даже не начинается с INSERT, UPDATE или DELETE
Это ясно, но это не тот случай. Ведь на части компьютеров программа прекрасно работает с теми же данными.

to Tarasios

авторJoss, ну, идти на поводу у ленивых клиентов тоже нужно и можно до каких то определённых пределов. Практика показывает, что сами потом крайним останетесь ;)
По поводу "32-х и 64-х версии Access". А при чём тут разрядность, если вы запускаете прогу из под Рантайма, фактически - из под независимой отдельной копии Access? Эта такая штука, как я успел убедиться - отлично бегает хоть на XP, хоть на 10-ке. Проверял сам лично на XP, XP/64, 2003 Server, 7/32, 7/64, 8.1, юзеры пишут - что и на 10-ке полёт нормальный.
Кроме того, я говорил, что могут иметь место факторы "вне самого Access".
То, что "никто не будет ничего делать" -
а) не факт, но допустим
б) Сделайте это "сами": вышлите в инсталляхе тот же Рантайм, прикрутите батничек на разовую установку и вуаля.
Можно даже сделать достаточно полноценный инсталлятор, например, при помощи InnoSetup. Тогда клиент запускает одну инсталляшку.
Ну, через удалённый доступ можете зайти к клиенту, сами настроить - если это важно. Иногда и мне приходится так делать - это проще и быстрее.
В общем, я бы тут проблему разделил на две части:
1. Проверить на практике сам принцип и возможность решения проблемы косяков с помощью рантаймов. Думается мне, что это проще и быстрее сделать именно на практике, чем гадать и теоретизировать до бесконечности ;)
2. Способ установки необходимого комплекта на комп юзерам. Тут уже варианты на ваш выбор.
Разумеется, я не смею настаивать - в конце концов, это у вас проблема, и варианты поиска решений - тоже у вас. Тут придётся отвечать последовательно.

На счёт пользователей. Наша организация собирает анкеты определённой формы отчётности. Их можно представить как бумажный документ. Ну или в том модуле, что я разработал. Вся эта информация сливается в общую базу данных. Ввод данных из модуля автоматизирован., бумажные документы вводятся вручную. Если программа не понравится пользователям, они могут отсылать анкеты на бумаге и тогда мы тут будем корячиться и вводить данные с бумажных анкет. Анкеты собираются каждый квартал. И каждый раз рассылается новый модуль с новыми данными. Нельзя один раз поставить модуль и постоянно им пользоваться.

На счёт рантайма. Смотри написанное выше. Никто лишних телодвижений делать не будет. Никто не будет скачивать рантайм и ставить его параллельно уже стоящему Access. Тем более 32-х и 64-х версии Access несовместимы. Это по официальной информации от Микрософта.

Как я писал, Во многих организациях нет даже штатного системщика. Иногда даже звонят и спрашивают, как надо разархивировать. Вчера звонили и заявляли, что никак не могут прикрепить отчёт к письму. А возиться с установкой и деинсталяцией Access никто не будет. Тем более что гарантию, что всё заработает я дать не могу.

Единственное, до чего я додумался. Создать bat или cmd файл на декомпиляцию и последующее сжатие базы. И рассылать такой файл вместе с модулем, с указанием, что если возникнет такая ошибка, то запустить этот файл. Это в 99,9% случаев срабатывает. Но как написать такой файл я пока без понятия. Надо указать путь к Access, путь к обрабатываемому файлу. А я пока с этим не разобрался. Ну не писал я раньше такие файлы. Может кто-нибудь подскажет, как это сделать?
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39387920
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
ну вообще то, само сжатие можно навесить на прогу, например, при каждом выходе из программы.
Сами же DOS команды и основы создания тех же батников неимоверно просты, есть в инетах куча примеров и буквально за час вы "проникнетесь". Хотя опять же здесь всё упирается в точные координаты файла access.exe, а они в разных версиях разные ;)
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39387924
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, это по вашей теме:
http://www.sql.ru/forum/143018/szhatie-i-vosstanovlenie-bd-iz-komandnoy-stroki
http://www.sql.ru/faq/faq_topic.aspx?fid=155

Хотя вот лично мне бы (при условии что это больше нужно мне, а не клиентам) было бы удобнее и быстрее "вылечить" клиента по удалёнке, например - через тимвивер. Практика показывает, что даже самые "деревянные" клиенты почти без проблем могут её у себя запустить и назвать мне (мылом, аське или по телефону) айди и пароль. Тем более, что существует модуль тимвивера, не требующий инсталляции у клиента.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39388121
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TarasiosJoss,
ну вообще то, само сжатие можно навесить на прогу, например, при каждом выходе из программы.
Сами же DOS команды и основы создания тех же батников неимоверно просты, есть в инетах куча примеров и буквально за час вы "проникнетесь". Хотя опять же здесь всё упирается в точные координаты файла access.exe, а они в разных версиях разные ;)

Проблема в том, что компакт не помогает. Помогает декомпиляция программы. А она запускается только из командной строки (я других способов не знаю). А для неё надо задавать полный путь к декомпилируемому файлу.

Простые батники я писал: создание/удаление каталогов, файлов, перемещение по каталогам. А вот такого типа - нет.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39388136
MS Access VBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss, зачем вы пытаетесь сделать батник, не имея опыта, если прекрасно знаете среду MS Access и VBA?

Создайте аксесовскую утилитку, в которой покажите красивую формочку с рюшками, определите где расположен екзешник access (можно через SysCmd(acSysCmdAccessDir) & "MSACCESS.EXE"), запустите шелом с командной строкой /декомпайл вашу основную базу и т.п.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39388140
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossПростые батники я писал: создание/удаление каталогов, файлов, перемещение по каталогам. А вот такого типа - нет.
Зачем батник? Пишите vbs скрипт, там язык практически один-в-один совпадает с VBA, включая все файловые операции и библиотеки.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39388314
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS Access VBAJoss, зачем вы пытаетесь сделать батник, не имея опыта, если прекрасно знаете среду MS Access и VBA?

Создайте аксесовскую утилитку, в которой покажите красивую формочку с рюшками, определите где расположен екзешник access (можно через SysCmd(acSysCmdAccessDir) & "MSACCESS.EXE"), запустите шелом с командной строкой /декомпайл вашу основную базу и т.п.
Фокус в том, что если глючит основная программа, то так же может глючить и вспомогательная утилита. Вообще-то надо писать не батник, а VB скрипт.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39389279
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Вам имхо нужно отказываться от mdb у клиентов...
Если их работа заключается в тупом заполнении анкет, то в зависимости от наличия связи, есть два варианта:
1. При наличии везде интернета - поднять у себя на серваке с постоянным IP адресом сайт и написать простенькую страничку ввода данных в свой mdb на своем сервере (вход после авторизации разумеется). Выгода офигенная - рассылать никому ничего не нужно, у себя страничку ввода обновил на сайте и всё, устанавливать тоже никому ничего не нужно (кроме ярлыка в браузере или на рабочем столе). Написать можно
на чем угодно ASP, PHP...
2. Если интернет не постоянный и обмен идет через какие то промежуточные файлы, то заполнение анкет можно
сделать тупо в экселе, высылаем новые шаблоны, получаем назад заполненные, импортируем...
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39389315
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эксель не катит. По существу я вырезал кусочек своей более сложной и более мощной программы и кусочек общей БД, относящейся к конкретному предприятию за конкретный период. В программе зашита куча контролей от дурака, ну или по научному, от ввода недостоверной информации, Идёт проверка по нескольким критериям. Используются как минимум 6 таблиц, Три основных и три вспомогательных, причём данные вносятся только в 2 таблицы, а наполнение 3 таблиц зависят от предприятия. Эксель с этим то же может справиться, но геммороя на порядок больше.

На счёт интернета. Я пробовал перегнать кусочек базы на SQL Server и ASP. И даже что-то начинало получаться. Но не потянул. Парень, который был хорошим специалистом по ASP уволился. А я тупо уперся в незнание предмета. НЕ всё описано в книгах. Да и старое начальство было в этом не заинтересовано.

Все действия по созданию своих страничек в интернете и выкладыванию на них данных упирается сразу в несколько проблем, как объективных, так и субъективных. И пока только в процессе рассмотрения который может затянуться на пару лет.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39389345
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Попробуйте рассмотреть проблему заполнения шаблона под другим ракурсом:
- Сейчас наверняка так: Под новый шаблон допиливается и хранилище и интерфейс (новые поля/тополя)...
- Попробуйте застолбить интерфейс (хранилище меняется, а интерфейс нет), тогда у каждого клиента интерфейс нужно будет настроить всего один раз.
Как это сделать ?
- Заполнением с помощью мастера заполнения. Вы поставляете только новое хранилище, в котором есть поля для заполнения и рядом ваши признаки обработки каждого поля (какие проверки включать и т.д.). Итерфейс пошагово запрашивает поля ввода и после ввода анализирует их согласно прилагаемым в БД инструкциям...
- Динамическое формирование полей ввода в форме. Поля ввода в форме генерируются из той же таблицы поставки, инструкции по обработке в БД тоже соответственно в ней есть...
Ну да, слегка попахивает искусственным интеллектом и труд приличный и сложности есть...
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39389456
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

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

С откомпилированным MDE те же проблемы возникают? В MDE не преобразовывал. Перед рассылкой очищал модуль от мусора, делал сжатие и компиляцию.
Проблема. Делать MDE можно только в той версии, в которой у тебя формат базы. Был у меня как-то случай, когда я пробовал сделать в Access 2003 MDE базы формата Access 2000. Программа отказалась это делать.
Сейчас у меня стоит 2010, Создать в нём MDE я не пробовал. Формат базы у меня MDB Access 2000.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39389511
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss...Был у меня как-то случай, когда я пробовал сделать в Access 2003 MDE базы формата Access 2000.
Программа отказалась это делать...Обычно предлагается предварительно преобразовать в актуальную версию.

MDE, сделанные в Access 2000, работают и в более свежих версиях.
Во всяком случае, работают в Ac2003, Ac2007, Ac2010.
Дальше не довелось проверить.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39389537
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossПрограмма сделана в формате Access 2000, mdb. Запускалась на Access с 2000 до 2016.
ActiveX не используется, API используется. Программа разрабатывалась и работает в 32-х и 64-х разрядных офисах. И до нашего переезда никаких проблем не возникало. Вот только на старом месте в качестве операционки стояла Windows XP.



однажды у меня влиял системный разделитель чисел и даты/времени
стала проверять примерно так---в реестр не полезла

а="" & (1/2)

if instr(a,",") then
''разделитель запятая
else
''разделитель точка
endif

аналогично для даты
----
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39389543
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно ошиблась немного
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
а="" & (1/2)

if instr(a,",")>0 then
''разделитель запятая
else
''разделитель точка
endif


т.е. сравнивала с заранее известным значением и задавала нужную обработку, особенно при экспорте/импорте
установить всем одинаковые установки не смогла(около 100 компов)
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39389746
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

Вот ещё вариант проверки. Может пригодится.
Код: vbnet
1.
2.
3.
If Mid$(Format(1.1, "General Number"), 2, 1) <> "." Then
    Call Dobavka_V_TEMP_ERROR(" Десятичный разделитель в системе - не точка!!! -     ", Mid$(Format(1.1, "General Number"), 2, 1))
End If
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39390789
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы.
Но вот такие случаи из практики.
Первый вариант. Сообщают об ошибке. Пошагово рассказываю, как запустить с нажатым Shift, как найти операцию "восстановить и сжать". Программа заработала.
Второй вариант. Сообщают об ошибке. Пошагово рассказываю, как запустить с нажатым Shift, как найти операцию "восстановить и сжать". Программа не заработала. Отсылаю декомпилированный вариант. Программа заработала.

Вот такие дела.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39392758
PWW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Проверь установку сервиспаков Access. Бывает несовместимость на этом уровне. Есть сервис пак - работает на обеих машинах,
нет - на одной из машин не работает. Влияет как присутствие, так и отсутствие сервиспака.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39394371
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PWWJoss,

Проверь установку сервиспаков Access. Бывает несовместимость на этом уровне. Есть сервис пак - работает на обеих машинах,
нет - на одной из машин не работает. Влияет как присутствие, так и отсутствие сервиспака.
Это надо разговаривать с более-менее знающим человеком. Иногда, женщины, которые работают с программой не могут сказать ни версию Windows, ни версию офиса.
Подумал и решил втихаря набрать статистику. При запуске программы считывать и заносить в таблицу версию Windows и версию Офиса. Правда, как ещё определить сборку пока не придумал.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39574469
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поднимаю старую ветку. Описываю как решилась проблема, может у кого-нибудь такая же ...

*************************************

Дело в том, что начиная с версии 2007 для Access (и соответственно Офиса) разработана новая библиотека работы с данными ACE вместо DAO, а начиная с версии 2010, разработана так же 64-х битная версия этой библиотеки. Для библиотеки DAO 64-х битной версии не существует. Получается, что для комбинации Windows XP и Офиса 2000 – 2003 можно использовать только библиотеку DAO, в остальных случаях можно использовать библиотеку ACE. Подключение библиотеки производится на этапе программирования. Поэтому были созданы две версии программы:
- универсальная, с использованием библиотеки ACE для 32-х и 64-х версий Офиса, но работающая начиная с 2007 версии.
- с использованием библиотеки DAO, для Windows XP и Офиса 2000 – 2003 и работает только с 32-х разрядными версиями Офиса
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39577639
PWW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Ты используешь DAO в коде или она просто болтается по умолчанию и глючит из-за несовместимости?
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39577649
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Делайте единые библиотеки доступа.
Одна версия офиса.
Так будет работать как часы.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39577986
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PWWJoss,
Ты используешь DAO в коде или она просто болтается по умолчанию и глючит из-за несовместимости?
Использую библиотеки. Строю на них рекордсеты. Программу сопровождаю уже 7 лет приблизительно 60% в ней моего кода. Мне она досталась после 2 лет опытной эксплуатации и 3 лет нормальной эксплуатации. Писалась на Access 2003. Автор была сторонницей DAO. Я был сторонником ADO. Программа представляет собой жуткую смесь процедур DAO и ADO.

10 лет эксплуатации программы на Access, если учитывать опытную, то все 12. Кто похвастается таким долголетием?
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39577990
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NeboJoss,
Делайте единые библиотеки доступа.
Одна версия офиса.
Так будет работать как часы. Вы невнимательно читали ветку. У клиентов что стоит, то стоит. И менять они ничего не будут.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39577994
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счёт клиентов. Вчера звонила женщина-бухгалтер. Достаточно молодая. Вроде бы должна быть с компьютером на "ты". Не знала ни версии Windows ни версии Офиса. Полчаса объяснял, по телефону, как распаковать архив и как потом заменить одну версию программы на другую. У неё как раз была та самая комбинация: Windows XP и OFFice 2003.
...
Рейтинг: 0 / 0
На одних компьютерах программа работает, на других - нет.
    #39578001
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagJoss,

Попробуйте рассмотреть проблему заполнения шаблона под другим ракурсом:
- Сейчас наверняка так: Под новый шаблон допиливается и хранилище и интерфейс (новые поля/тополя)...
- Попробуйте застолбить интерфейс (хранилище меняется, а интерфейс нет), тогда у каждого клиента интерфейс нужно будет настроить всего один раз.
Как это сделать ?
- Заполнением с помощью мастера заполнения. Вы поставляете только новое хранилище, в котором есть поля для заполнения и рядом ваши признаки обработки каждого поля (какие проверки включать и т.д.). Итерфейс пошагово запрашивает поля ввода и после ввода анализирует их согласно прилагаемым в БД инструкциям...
- Динамическое формирование полей ввода в форме. Поля ввода в форме генерируются из той же таблицы поставки, инструкции по обработке в БД тоже соответственно в ней есть...
Ну да, слегка попахивает искусственным интеллектом и труд приличный и сложности есть...

Сразу не ответил. Сейчас попробую объяснить.

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

Ну а динамическое формирование не нужно. Без него прекрасно можно обойтись
...
Рейтинг: 0 / 0
46 сообщений из 46, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / На одних компьютерах программа работает, на других - нет.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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