|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
tanchukz, Так к нему же еще "морду" на чем-то писать нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 17:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
sssergetanchukz, Так к нему же еще "морду" на чем-то писать нужно. Дык он не знает про это. для него Мускул это усе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 05:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Все баги не читал, но по поиску "фильтр" не нашел похожего: Создаем любую форму в табличом виде на базе запроса с критерием, содержащем параметр вида [param], это может быть просто запрашиваемый параметр или ссылка на поле в форме. Открываем форму, по F5 или по Requery она благополучно запрашивает параметр или читает значение с формы. Накладываем любой фильтр на данные руками или через VBA и снимаем его. Все, параметр уже не запрашивается, с формы не читается. Обходится только заменой параметра на функцию. Проверял на 2010 и 2013. Баг просто убил. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2016, 18:48 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
В коде указано имя поля "св_во1", а в сообщении уже "св-во1". Как так? ) Кстати, предыдущую строку он успешно отработал - присвоил полю "св-во1" указанное значение ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 09:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Sergey8969В коде указано имя поля "св_во1", а в сообщении уже "св-во1". Как так? ) Кстати, предыдущую строку он успешно отработал - присвоил полю "св-во1" указанное значение Попробывал все работает. А это чё: Me.TempSvvo=Me.св_во1 (так для интересу) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 09:55 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ROIПопробывал все работает. Ну да, тоже создал другую форму, там работает. У меня спотыкается на SetFocus по какой-то другой причине. Собственно, я добавил этот код просто чтобы посмотреть к какому полю он перейдет. Вопрос был почему он отрабатывает код присваивания значения полю "св_во1" (через нижнее подчеркивание), которого вообще нет. Есть поле "св-во1" (через тире). Ответ уже нашел. VBA отображает пробелы в именах элементов управления как нижнее подчеркивание. Видимо, тоже самое он делает и с тире в именах. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 10:41 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ROIА это чё: Me.TempSvvo=Me.св_во1 (так для интересу) Это "костыль" для передачи в другую форму данных (нужно передать 2 значения). Создал 2 невидимых поля и из другой формы обращаюсь к ним за нужными мне значениями. Дело в том, что DoCmd.OpenForm может передать только одно значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 10:43 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Кстати, вопрос остался) В форме у меня все поля названы через тире. Первый вариант кода работает, второй - нет, третий - работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 11:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
пример ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 11:10 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Sergey8969Дело в том, что DoCmd.OpenForm может передать только одно значение.да хоть тысячу. Передавай такой же строкой через OpenArgs , а можно - "ИмяПараметра1=Значение;ИмяПараметра2=Значение; и тд" Ты бы это всё своим топиком организовал, а не в баги акса кривые руки записывал... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 11:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ПанургSergey8969Дело в том, что DoCmd.OpenForm может передать только одно значение.да хоть тысячу. Передавай такой же строкой через OpenArgs , а можно - "ИмяПараметра1=Значение;ИмяПараметра2=Значение; и тд" Ты бы это всё своим топиком организовал, а не в баги акса кривые руки записывал... Полностью согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 12:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ПанургSergey8969Дело в том, что DoCmd.OpenForm может передать только одно значение.да хоть тысячу. Передавай такой же строкой через OpenArgs , а можно - "ИмяПараметра1=Значение;ИмяПараметра2=Значение; и тд" Ты бы это всё своим топиком организовал, а не в баги акса кривые руки записывал... хах, меня спросили - я ответил. Комментарии на счет рук при себе лучше бы оставили. Я вас не спрашивал как мне лучше сделать. Вы бы лучше прочитали сначала о чем речь шла. Знаю, что можно строкой все передать. Разделять потом на отдельные значения не хочу, исключать возможные ошибки. Да и код длинный получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 13:10 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Sergey8969, а я и прочитал. Первое замечание не относмтся ко второму. Они даже пустым пространством обособлены. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2016, 16:37 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Некорректное преобразование mdb-формата в формат accdb. Причина и способ устранения некорректности Действительно для: - операционные системы Windows версий Windows 7/8xx/10 - пакет Приложений MS Office версий 2007 и более старших. Предпосылки: Офисное приложение изначально разрабатывалось в среде MS Office 2003. При "конвертации" Приложения в среду MS Office 2007 и старше возникли ошибки преобразования. Причем, в исходном коде никакие особенности Office 2007 не использовались (как то: тип данных "Вложение" и др.). Результат "конвертации": При запуске Приложения офис генерирует исключительную ситуацию "Не распознаваемый формат файла". Причина ошибки: Один из сохраненных запросов в файле "клиентского места" был отформатирован с управляющими символами "возврат каретки"/"новая строка (vbNewLine). Используемый способ конвертации: создание нового файла в формате accdb с запретом слежения за автозаменой имен, последующий импорт всех объектов из исходного файла в формате ACC 2003 в целевой файл в целевого формата accdb, поскольку стандартная операция "Сохранить в формате" корректно никогда не работала (скрытые системные таблицы исходного mdb переносятся "как есть", привнося "мусор" в целевой файл) . Способ исправления: удаление всех управляющих символов в сохраненных запросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2017, 02:23 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Дополнение к предыдущему сообщению: "Некорректное преобразование mdb-формата в формат accdb. Причина и способ устранения некорректности" Исходный текст Приложения (в формате ACC 2003), включающего в себя запросы, исходный SQL-текст которых содержал управляюpие символы "перевод каретки" или "новая строка", не вызывал исключительных ситуаций как при компиляции, так и в процессе функционирования Приложения под управлением среды MS Office 2003. После описанного выше "стандартного" способа конвертации, при попытке запуска конвертированного Приложения в среде ACC2007/ACC2010, упомянутая выше исключительная ситуация стабильно возникает. В случае импорта всех объектов исходного Приложения ACC2003 в среду ACC2013, после нажатия "ОК" в окне диагностического сообщения "чужой формат", Приложение открывается. Однако, в случае попытки открытия объекта (форма/отчет), использующего, в качестве источника данных, запрос, текст которого содержит управляющие символы, операция прерывается с описанием события "Действие открытия формы/отчета прервано". Кроме того, если у Вас в рабочем (клиентском) месте, имеются запросы, текст которых отформатирован управляющими символами (форматирование SQL-текста в Приложениях с разделённой БД Майкрософт не запрещает), а в таблицах, присутствуюзих в теле запроса одно или более полей в новой версии БД (не рабочего/клиентского места) больше не существует - ситуация с описанной выше "конвертацией" из одной версии ACC в более старшую, возможно, будет происходить так, как описано выше. P/S . Надеюсь, мой маленький месседж поможет сохранить "братьям по цеху" затраченное ими время на выявление и фиксение ньюансов работы ACC... для более полезных занятий.... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2017, 11:24 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
не рабочего/клиентского места Упсс... Конечно же "рабочего/клиентского места" ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2017, 11:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Следующая ситуация. На сервере стоит 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 произвёл декомпиляцию программы. Затем поджал её. Программа заработала и на тех машинах, где раньше отказывалась работать. Кто-нибудь встречался с такими проблемами? Как их решали? И что надо делать, чтоб их избежать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 10:39 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Joss, Ваше описание траблы подпадает под мой опыт. Как фиксил траблу: Установил рантайм-версию ACC, соответствующую ACC на машине Разработчика. С младшими ей полными установками Office работает устойчиво. Если Вы пользуете библиотеки Word/Excel 2003 из-под рантайм-ACC2010/20ХХ, то они "захватываются" правильно. В случае наличия на машине двух версий (2003-2010, к примеру, это не есть факт). Причем, старшая версия не конфликтует с младшими версиями библиотек самого ACC. Это проверено более чем 4-мя годами успешной эксплуатации Приложения в среде Office 2003..2010 при условии, что Вы нигде (ни в базе, ни в коде клиентского места не юзаете расширения Office 2007). На рабочих станциях юзеров установлена рантайм-версия, соответствующая версии ACC на машине разработчика, под которой скомпилирован файл клиентского места. При разделенной БД сама база данных может быть в формате самой младшей версии ACC, однако настоятельно есть хорошо, когда БД приведена в формат более старшей версии АСС. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2017, 01:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вдогонку к своей проблеме. Нашел одну из ситуаций, когда возникает такая ошибка. Если программа при запуске выдаёт сообщение типа "Ошибочная инструкция SQL, предполагалось INSERT, UPDATE или DELETE", не дословно, но смысл похожий, то возможна следующая причина. Дело в том, что начиная с версии 2007 для Access (и соответственно Офиса) разработана новая библиотека работы с данными ACE вместо DAO, а начиная с версии 2010, разработана так же 64-х битная версия этой библиотеки. Для библиотеки DAO 64-х битной версии не существует. Получается, что для комбинации Windows XP и Офиса 2000 – 2003 можно использовать только библиотеку DAO, в остальных случаях можно использовать библиотеку ACE. Подключение библиотеки производится на этапе программирования. Поэтому если у Вас подключена библиотека DAO, то программа не будет работать на Windows 64 bit, если у Вас установлен Офис 64-bit. Комбинация W-64 и Офис 2003 работать будет. Комбинация W-64 и Офис версии 2007 и выше в 32-х битных версиях по идее должен работать, но проверить не мог. Если у Вас подключена библиотеки ACE, то программа не будет работать для конфигурации Windows XP и Office 2003 (отсутствует библиотека ACE). В остальных случаях для различных допустимых комбинаций Windows и Офиса программа работать должна. (все комбинации проверены не были). Можно попробовать пошаманить и для комбинации Windows XP и Office 2003 доставив самостоятельно библиотеки ACE. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2017, 14:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Windows XP SP3 MS Access 2010 Создаю в конструкторе запрос-выборку на основе обычной таблицы При попытке просмотреть результат пишет Код: plaintext 1.
Я бы понял, если бы разрабатывал отчёт. Но где задать единицы измерения в обычном запросе на выборку? База была создана в Access 2003, При запуске в Access 2003 программа ошибки не выдает. Методом исключения нашел в запросе таблицу и поле, для которого выдаётся ошибка. Оно оказалось текстовым. Создал аналогичное поле. Скопировал данные из старого поля в новое. Старое удалил, новое переименовал. Попробовал вывести. Прошло без ошибок ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2017, 14:49 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вызываю(загружаю) форму из другой форме по кнопке. На одних компьютерах работает без проблем. На других выдаёт ошибку (см. рисунок). Сжатие базы не помогает. Прохожу пошагово под отладчиком - ошибки нет. После этого прохода форма повторно вызывается без сбоев. При перезагрузке программы опять появляется ошибка. Как устранил ошибку. Перед вызовом формы поставил оператор doEvents . Ошибка исчезла. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2017, 15:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Неправильная очерёдность действий в VBA. Код: vbnet 1.
В теории: Операторы Mod (остаток при делении) и \ (целочисленное деление) имеют одинаковый приоритет и должны вычисляться слева направо: берём остаток от N по модулю 676 и нацело делим его на 26. Для N=100 результат должен быть 3. На практике: \ вычисляется в первую очередь, Mod во вторую. В результате получаем Код: vbnet 1.
Для N=100 имеем результат 22. Полдня коту под хвост, где угодно мог предположить ошибку, но не здесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 13:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Неправильная очерёдность действий в VBA. Код: vbnet 1.
Причём в VBScript всё в порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 13:13 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
А нет, вру, в VBScript тот же баг ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 13:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
rnk_unauthorized В теории: Операторы Mod (остаток при делении) и \ (целочисленное деление) имеют одинаковый приоритет нет https://msdn.microsoft.com/ru-ru/library/office/gg278455.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 14:20 |
|
|
start [/forum/topic.php?fid=45&msg=39312547&tid=1610055]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 254ms |
0 / 0 |