|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Предлагаю сюда собирать известные "дырки" акцессе(-ах), а-ля if me.mysubform.mycheckbox then (кстати, кто ее щупал, поделитесь :) Наверняка, эта информация могла бы многим пригодится... Просьбы к пишущим: 1. Указывать версию(и) Access, где замечена ошибка, используемые библиотеки (ADO/DAO и т.п.) и версии иных программ, если надо. 2. Указывать гарантированный (ну или почти) способ ее получения. 3. По возможности указывать способы борьбы или обхода. И от себя первый, который пришел на ум (последний, с которым встречался). -------------------------------------------------------------------- Access 2002 SP3, SQL Server 2000 DE SP3, ADP Ошибка: Создаем на сервере таблицу с полем типа bit. Создаем в проекте форму (Форма1) с флажком. Источник данных формы - созданная таблица, флажка - созданное в ней поле. Выполняем команду Forms("Форма1").recordset.resync или Forms("Форма1").recordset.resync adAffectCurrent, adResyncAllValues Щелкаем по флажку. Получаем "приложение выполнило недопустимую операцию, будет закрыто" и т.д. С полями иного типа акцесс может выпасть после нескольких resync'ов в процессе редактирования записи. Лечение: Вместо Forms("Форма1").recordset.resync надо писать Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Этот способ работает тем дольше, чем больше записей в форме. Ошибка неактуальна, если в форме не разрешено изменение/добавление записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2004, 17:11 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
WinXP (sp1), A97 (SP2) (может по-этому?. Больше Админ не качает :() : Столкнулся с таким багом, как лечить не знаю: при попытке вызвать из Form2 метод .Undo контрола подчиненной формы Form1, например, из [Form2] вызвать forms!Form1!sumFORM.form!field1.undo получаю срезанный напрочь без предупреждения Access без права переписки с кем-либо кроме Билли на 10 лет:)) (пришлось обходиться без этого) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2004, 00:06 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Я создал базу на SQL Server, все ключи сделал bigint, пытаюсь связать с клиентом в Access, и получаю таблицу где вместо записей стоит #Удалено. Ключевое поле показывало, что оно char(255) Тогда я все ключи сделал как numeric и все у меня нормально заработало. Access 2000 - 2002 пробовал на обоих версиях. SQL Server 2000 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2004, 16:26 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
MS Access 2002 SP1 - при попытке последовательного открытия нескольких отчетов на печать - акес вылетает - исправленно в SP2. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2004, 12:42 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Только что обнаружилось.\r \r /topic/86296\r \r Если в запросе идет поле из таблицы (пусть даже с алиасом, но главное без формулы), а потом * (в смысле "все поля"), то это поле среди "всех полей" не показывается.\r \r Если такой запрос включается в Union, то в лучшем случае вылезает ошибка про несоответствие количества полей, а в худшем показывается на одно поле меньше, но не те поля под не теми.\r \r Пример: если в таблице T есть поля A, B, то:\r select A as Z, * from T -> выдает Z, B\r select B as Z, * from T -> выдает Z, A\r select 1 as Z, * from T -> выдает Z, A, B\r union 1-го со 2-м -> выдает 2 поля, причем нигде нет ни A под A, ни B под B\r union 1-го с 3-м -> выдает ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2004, 22:26 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
вс все работает правильно. это не баг. это логика. * означает, что выбраны все поля. а так как поле уже выбрано, то и дважды его показывать ни к чему. для того, чтобы его показать, надо поставить принудительно select T.*, Поле1 вот тогда оно покажет вот тебе справка: SELECT [предикат] { * | таблица.* | [таблица.]поле_1 [AS псевдоним_1] [, [таблица.]поле_2 [AS псевдоним_2] [, ...]]} FROM выражение [, ...] [IN внешняяБазаДанных] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] [WITH OWNERACCESS OPTION] предикат - Один из следующих предикатов отбора: ALL, DISTINCT, DISTINCTROW или TOP. Предикаты используются для ограничения числа возвращаемых записей. Если они отсутствуют, по умолчанию используется предикат ALL. * Указывает, что выбраны все поля заданной таблицы или таблиц. таблица Имя таблицы, из которой должны быть отобраны записи. поле_1, поле_2 - Имена полей, из которых должны быть отобраны данные. Если включить несколько полей, они будут извлекаться в указанном порядке. псевдоним_1, псевдоним_2 Имена, которые станут заголовками столбцов вместо исходных названий столбцов в таблице. выражение - Имена одной или нескольких таблиц, которые содержат отбираемые данные. внешняяБазаДанных - Имя базы данных, которая содержит таблицы, указанные с помощью аргумента выражение, если они не находятся в текущей базе данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 10:56 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Ну и чем твое select T.*, Поле1 отличается от моего select Поле1, T.* ? Причем ведь я даже даю алиас. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 13:14 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ты написал select A as Z, * from T а я по-другому select A as Z, T.* from T ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 13:37 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Да, действительно. Итого: алиас не помогает получить поле два раза, а помогает указание имени таблицы при *. Закономерность совершенно понятна, но логики я в ней не наблюдаю. Я был уверен, что если в селекте всего одна таблица, то можно вместо T.* писать просто *. Вот перед нами случай, когда это неверно. Есть ли еще такие случаи? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 13:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Интересно, стоит ли сюда повторно писать о найденных мною багофичах? Имею в виду глюк с Left/Right Join'ами по вычисляемому полю и и безобразие с агрегатами внутри подзапросов Union All. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 14:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Сделай одним постом подборку ссылок на другие топики. И при каждой ссылке минимальный комментарий. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 14:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
вс логика така: если * , то хочешь увидеть все столбцы (не какой-то конкретной таблицы, а всех таблиц) и она тебе их и показывает. если конкретно Т.* - то должна выдать все поля конкретной таблицы, невзирая на то, что было указано ранее. здесь ты как бы говоришь ей, шо хочу видеть поля именно из этой таблицы. вот она тебе конкретно и выдает. все правильно она раьотаит. как ее ты спрашиваешь, так она и отвечает. сформулируй четко для нее запрос, она тебе четко и ответит. при нечетком формулровании, она начинает думать так, как считает нужным. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 14:24 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 ищ: * - значит все поля из всех таблиц T.* - значит все поля из данной таблицы Если одно из полей упомянуто в том же селекте еще раз, то ниоткуда не следует, что эти два синтаксиса должны вести себя по-разному. Конечно, узнав про это явление, можно задним числом сформулировать, в чем состоит разница. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2004, 14:51 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Сообщения об ошибках в *.ADP: Если на уровне таблицы задать текст сообщения об ошибке при нарушении ограничения или ключа, он будет выводиться только для пользоватетеля dbo. Под любым другим пользователем сообщение не выводится, вместо него выводится стандартное сообщение об ошибке SQL Server 2000. Исправить эту ситуацию программно невозможно, если не лезть в Recordset формы (сообщение об ошибке недоступно), а лезть туда не стоит, как уже говорилось многими выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2004, 14:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 20:56 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
А на той странице как раз ссылка на наше обсуждение, которое именно той страницей и было спровоцировано. /topic/33519 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 21:00 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Green2Я создал базу на SQL Server, все ключи сделал bigint, пытаюсь связать с клиентом в Access, и получаю таблицу где вместо записей стоит #Удалено. Ключевое поле показывало, что оно char(255) Тогда я все ключи сделал как numeric и все у меня нормально заработало. Access 2000 - 2002 пробовал на обоих версиях. SQL Server 2000 У меня Numeric не помогло - поставил int - все сразу стало нормально. Access 2000 + Sql2000 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2004, 08:29 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ADP 2000 -2003 баг с использованием суммового поля в примечании формы при использовании фильтра. =sum(поле) ведет себя по разному в 2000 без сервис паков срезу пишет ошибку в 2002 после использования фильтра формы в 2003 после нескольких попыток реквери / фильтрации ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2004, 08:51 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
По багу автора Создаем на сервере таблицу с полем типа bit. В А97 (в других - не знаю) помогает назначение default на это поле. По-видимому, Акс не может превратить автоматом Null to boolean Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2004, 09:41 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Ошибка компиляции: http://www.sql.ru/forum/actualthread.aspx?tid=121644 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2004, 21:26 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
мои 2 копейки: странное поведение при закрытии Access: при закрытии основного окна Access вызывается Form_Load /topic/115316 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2004, 22:06 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторЕсли в одном ЛистБоксе переменная = 0,25л Молоко, то после добавления в другой ЛистБокс и удаленеия сей переменной из первого ЛистБокса, получается следующие: в первом ЛистБоксе переменная становится равной 25л Молоко и добаляется к предыдущему значению. http://www.sql.ru/forum/actualthread.aspx?tid=127141 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2004, 17:07 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
MS SQL 2000 SP3 Access ADP Взято отсюда. В Access не имеет смысла пользоваться не-глобальными временными таблицами, иначе, как в хранимых процедурах (которые удалят таблицы после работы). Это не баг, но я нигде не видел отдельного упоминания об этом эффекте, поэтому, думаю, будет невредно выложить отдельно. Создайте форму из одной кнопки; в обработчик нажатия кнопки поместите этот код: Код: plaintext
На выделенной строке получаем ошибку "Invalid object name #ttt". Если войти в отладку, подождать несколько секунд, пока форма получит записи, и продолжить выполнение программы, то программа отработает дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2004, 21:16 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
Я бы это все-таки другими словами сказал. Нельзя полагаться на неизменность/уникальность объекта соединения, возвращаемого методом. CurrentProject.Connection. Гарантируется только, что метод доступен, и возвращает объект соединения. Однако последовательное обращение к методу может приводить к возврату различных объектов. Например, в случае, когда все текущие открытые соединения заняты/блокированы обработкой команды и выборкой результата, акцесс просто откроет в момент обращения еще одно соединение и вернет его в ответ на обращение. Это необходимо иметь ввиду по крайней мере при последовательном исполнении набора команд типа CurrentProject.Connection.Execute (с выражением лица) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2004, 10:39 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
может не в тему но #ttt- временная таблица доступная данному пользователю ##ttt времннная таблица доступная для всех пользователе интересно, а второй вариант для случая Geo прокатит? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2004, 10:54 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Только багом данное поведения я бы не называл. Данное явление имеет достаточно логичное объяснение. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2004, 11:17 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 Victosha Да, спасибо, так лучше. 2 вадя Во втором случае таблица ##ttt будет видна всем connection'ам, т.е. ошибки не будет. Но оно неудобно в случае, если надо завести временную таблицу для конкретного пользователя, кроме него никому не видную. Равно как нельзя, используя currentproject.connection, полагаться на @@SPID. 2Alexey Sh А я и не назвал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2004, 15:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
GeoВ Access не имеет смысла пользоваться не-глобальными временными таблицами, иначе, как в хранимых процедурах ну зачем же так сурово-то? достаточно не использовать CurrentProject.Connection сделай свой ADODB.Connection, открой на том же ConnectionString, и работай себе с не-глобальными временными таблицами. или я чего-то не понял ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2004, 16:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Виктоша уже поправил. :) А сурово - это от досады. Дело в том, что я пользовался именно так, а вчера случайно наткнулся на слова Aleks2. :( Иногда полезно где-нибудь создать временную таблицу, и пусть она себе болтается. Держать для этого в переменной открытый коннекшен не очень удобно, мягко говоря. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2004, 16:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Держать для этого в переменной открытый коннекшен не очень удобно, мягко говоря. Вот и аксесу неудобно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2004, 16:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
глюк currentdb в сочетании с property http://www.sql.ru/forum/actualthread.aspx?tid=158549 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2005, 16:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Поправочка - это глюк CurrentDb в сочетании с TableDefs, а не с Property. Аксес теряет неявную ссылку, и все что ниже TableDefs (в т.ч. TableDef, Fields, Field, Properties, Property) - начинает материться не па руззке. Приходится принудительно сохранять (про запас) явную ссылку на CurrentDb или TableDefs В сочетании с QueryDefs, Recordsets и т.п. сей глюк не проявляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2005, 17:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вот столкнулся при переводе MDB->ADP Acc2003 (как на других не знаю) Если в названии объекта БД есть скобки (например [Oil - Point3 (Final-B)]) ADP его не видит. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2005, 18:04 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Идентификаторы должны состоять из латинских букв и цифр и начинаться с буквы. Багом является возможность создать в системе идентификаторы с пробелами, национальными символами, скобками , процентами и прочей лабудой. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2005, 18:30 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Alexey ShИдентификаторы должны состоять из латинских букв и цифр и начинаться с буквы. Ссылку на стандарт SQL? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2005, 18:35 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Стандарт не догма :) нужен геморрой - называйте как РАЗРЕШАЕТ стандарт. А я поднможеством обойдусь ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2005, 18:40 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Если MS SQL допускает использование спецсимволов в именах своих объектов - то он их допускает. Третьего не дано. Если аксесовский adp-проект не видит каких-либо объектов MS SQL - то это баг аксеса. Рассуждения о догмах, высоких штилях программирования и конвенциях наименования объектов - либо отдельным топиком, либо на лестнице. А здесь баги аксеса живут ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2005, 18:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ЛПРассуждения о догмах, высоких штилях программирования и конвенциях наименования объектов - либо отдельным топиком, либо на лестнице. А здесь баги аксеса живут Согласен, отползаю :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2005, 18:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
пока не пьяный, еще один неоправданный глючок с полем со списком выложу. A97 SP2, Win98 & Win XP Создаем форму, в ней поле со списком, источник данных, скажем строка: Код: plaintext
Выбираем строку, оканчивающуюся на многоточие, получаем "значения нет в списке" или как бишь ее. Если первый столбец видимый, ошибки нет. Если А2002, 2003 (на 2000 тоже не пробовал), ошибки нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2005, 19:23 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
GeoЕсли А2002, 2003 (на 2000 тоже не пробовал), ошибки нет. Попробовал 2000. Ошибки нет (если я правильно воспроизвожу). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2005, 21:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
поправка. На ВинХП с таблицей ошибки нет. С источником данных "список значений" ошибка только, если последними стоят 3 и более точек. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2005, 23:26 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Geoпоправка. На ВинХП с таблицей ошибки нет. С источником данных "список значений" ошибка только, если последними стоят 3 и более точек. проверил на Win2K + A97. Особенность (баг?) присутствует получается следующее. Если строка источника - источник1;a...;2;sddsa;3;dfsdf - содержит (4х-символьную) комбинацию, завершающуюся на три точки, то в NewData при выборе попадает (двухсимвольная) комбинация, в конце которой стоит символ с тремя точками. Это 133=ASC и/или 8230=ASCW Соответствующий колумн всегда содержит 4х символьную комбинацию - по символу на точку. Если источник создать программно так Код: plaintext
в случае "а...б" NotInList не возникает и ... занимает по символу на точку. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2005, 18:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Victosha(двухсимвольная) комбинация, в конце которой стоит символ с тремя точками. Это 133=ASC и/или 8230=ASCW А если отключить автозамену? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2005, 22:14 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вчера столкнулся с очень гнусным багом. Access XP + ADP проект. Законектился под юзером у которого ограничены права, проверял работу. Забыл об этом и создал 2 User Defined Functionю Достаточно "геморойные" - с CASE и т.п. Потом перелогинился под DBO - и продолжил работать с отчетом использующим эти функции. Смотрю вываливается месседж типа нет такой процедуры или функции! Лезу в закладку запросы и вижу - к имени функции добавилось имя юзера под которым я их создавал "Оборотка 1 Sale" - уже не помню были скобки или нет(в Sale). Я долго не думая щелкаю 2 раза на имени запроса и удаляю "Sale". Краем глаза увидел что функция вроде исчезла из списка. Не придав значение этому переименовываю вторую. Открываю отчет - снова нет такой функции! Начинаю искать - таки нет. Открываю Enterprise Manager - даже близко ничего похожего! Искал во всех базах - тмп и т.п. - как испарились! Log Explorerom просмотрел логи и им сопутствующие записи - никаких следов С матом и присвистыванием часа 2 восстанавливал функции. Так тчо осторожнее с такими вещами... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2005, 22:54 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир Саныч Victosha(двухсимвольная) комбинация, в конце которой стоит символ с тремя точками. Это 133=ASC и/или 8230=ASCW А если отключить автозамену? да Вы Шаман, батенька. Так бить в бубен нельзя научиться. Это или есть или нет. Явно прописана автозамена трех точек на трехточечный символ. Как научиться догадываться отключать (такую) автозамену? И, почему, кстати, она не срабатывает, когда эти три точки "внутри" слова? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2005, 00:04 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Victosha Владимир СанычА если отключить автозамену? да Вы Шаман, батенька. Так бить в бубен нельзя научиться. Это или есть или нет. А кто же, по-Вашему, батенька, заменяет три точки на этот символ, если не автозамена? VictoshaИ, почему, кстати, она не срабатывает, когда эти три точки "внутри" слова? Наверно, этот символ предназначен только для многоточий как знака препинания в конце фразы... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2005, 00:17 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир Саныч Victosha Владимир СанычА если отключить автозамену? да Вы Шаман, батенька. Так бить в бубен нельзя научиться. Это или есть или нет. А кто же, по-Вашему, батенька, заменяет три точки на этот символ, если не автозамена? об Этом и знает Шаман. Владимир Саныч VictoshaИ, почему, кстати, она не срабатывает, когда эти три точки "внутри" слова? Наверно, этот символ предназначен только для многоточий как знака препинания в конце фразы... ох-ох-ох тут должен бЫ общий бЫ механизм срабатывать бЫ. - типа если уж автозамена, то она либо есть, либо тен<->нет черным по беломк прописана автозамена friday - Friday дописываем в источкик friday - получаем фихвам, а не notInList. ладно. типа база регистронезависимая. допысываем свою автозамену bedday - birthday и помещаем bedday в источник - отменно получаем NotInList как-то кривовато. еще кривее, что после 97-го (АксXP) ничего даже близкопохожего не происходит ни с включенной автозаменой, ни с выключенной. типа - около птицы все это комбобоксу - не распространяется. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2005, 00:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
A97 sp1 sp2, Win98 Акс срезается напрочь при попытке выполнить запрос QryFrmLitshTotal. QryFrmLitshView выполняется нормально. Как вылечить не придумал пока. пробовал Акс ХП без СП под вин2К3 - пишет "обнаружена ошибка, отправить отчет?" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2005, 14:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Обошел так: Создал запрос с именем QryTotal0 Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2005, 14:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Ошибка повторяется на а2002/2003 винХР. Обходится проще - выкидывается сортировка из запроса "НачОпл". (Кстати, зачем сортировка в подзапросе?) Ошибок в самом запросе вроде бы нет. Почему не работают - не знаю. М.б. где-то со спецификациями неувязка? (на память не помню, сколько может быть вложенных подзапросов. Хотя нет, после удаления нижнего подзапроса (не считая "НачОпл"), ошибка не исчезает). М.б. старшие товарищи что-нибудь подскажут?... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2005, 16:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
да, странновато. А лечится, кроме убирания ORDER BY в NachOp еще так: вариант 1) переделать в NachOp ORDER BY Year([ДАТЫ_сдв]), Month([ДАТЫ_сдв]); на ORDER BY 100*Year([ДАТЫ_сдв])+ Month([ДАТЫ_сдв]); вар. 2) ORDER BY 100*Year([ДАТЫ_сдв]), Month([ДАТЫ_сдв]); вар 3 выражение для ORDER BY = выражение для Group By ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2005, 03:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 ы - запрос еще используется для других целей. 2 деревяшкин - буду пробовать (может в другие цели придется не целится) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2005, 06:53 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
совсем забыл... синтаксис там для А97, мож в нем дело для версий выше ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2005, 07:14 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
На листбокс повешен рекордсет, проматываем его скроллбаром. Далее удаляем рекордсет Set Me.Listbox.Recordset = Nothing. Потом присваиваю заново Set Me.Listbox.Recordset = Rst. Листбокс грузится (висят часы) до той позиции, на которой был скроллбар в момент уничтожения рекордсета. Вылечил только искусственным обнулением скроллбара через WinAPI. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2005, 08:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
пробовал на Access 2002 SP3, 2003. ADP + MSDE2000 Аксесс некорректно обрабатывает условие Is Not Null в "Условии на значание" (ValidationRule) контрола формы. Так, для числовых полей, у которых задано IS NOT NULL на самом сервере, вместо "сообщения об ошибке" (ValidationText) выдается ошибка 3162 (Попытка присвоить значение Null переменной, не принадлежащей к типу Variant). Для текстовых полей (пробовал на char, varchar, nvarchar & nchar) с IS NOT NULL на сервере, условие вообще не отрабатывается при очистке поля формы. С rules'ами я ни разу не работал, поэтому не смотрю, будет ли акцесс также проверять их до того, как смотреть в свои собственные условия и, соответственно, генерить свои события. Может это и не баг, конечно, но баловство с их стороны в любом случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2005, 11:54 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access 2000,2002,2003 1 Не всегда копирует меню из панели в панель CopyFace, PasteFace - выдает ошибку (Metod copyface of object _commandbarbutton failed)- приходитя пропускать, поэтому не всегда видны картинки в панелях. Причем замечено локально происходит не часто - при работе в терминале чаще. 2 Иногда Глюки при показе данных в подчиненных табличных формах . После сортировок иногда показывает одно и тоже в 2 разных. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2005, 19:52 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Не знаю, баг или нет... Access'97 Функция Mod Если передать в нее обе переменные, объявленные как Byte, то через раз(!) возникает переполнение. Если одна Byte, другая - другая, то все Ок;) З.Ы: В Help'е не нашел ограничение на передачу ей такого варианта... Попробуйте, мож у меня только так? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2005, 15:23 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
если в запросе находяться повторяющиеся строки...то при нажатии кнопки сортировки, Access накладывает на этот весь набор DISTINCTROW условие, так что осторожнее.то есть было одно кол-во и станет меньше уже:) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2005, 17:11 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
MDB 2002 если создать Query достаточно сложной конструкции, при которой следующий добавленный уровень вложенности подзапросов приводит к ошибке "Слишком сложный запрос" и основать на этом запросе форму то при попытке сортрировать форму посылаемся в Microsoft... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2005, 17:19 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
DateAdd(interval, number, date) 2 и 3 агрумент могут быть либо число либо дата притом без разницы как вы их запишите.можно и так DateAdd(interval, date,number ) результ будет тотже. но вот если у вас 3 агрумент будет как строка, тогда он может быть только третьим. область действия VBA ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2005, 17:34 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
еще глюк если в запросе есть поле типа денежный , то access97 при исполнении запроса заместо чисел типа дробных 1.5 покажет 2, а если нажать в это поле то покажет 1.5 :) но это токо если сам запрос пустить на выполнение, само 1.5 всегда 1.5 , он просто визуально глючит:) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2005, 15:35 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Еще мелкий баг, а может я ошибаюсь. В текстбоксе формат - dd.mm.yy" "hh:nn:ss. То есть необходимо, чтобы между датой и временем было несколько пробелов. В результате часы отображаются то одной, то двумя цифрами. Дни, месяцы, годы, минуты и секунды - всегда двумя. Access XP ADP. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 09:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mediumЕще мелкий баг, а может я ошибаюсь. В текстбоксе формат - dd.mm.yy" "hh:nn:ss. То есть необходимо, чтобы между датой и временем было несколько пробелов. В результате часы отображаются то одной, то двумя цифрами. Дни, месяцы, годы, минуты и секунды - всегда двумя. Access XP ADP. Custom formats are displayed according to the settings specified in the regional settings of Windows. intl.cpl вот через выполнить запусти, и глянь, у тебя стоит в винде H:mm:ss поэтому и без 0 они. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 10:22 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 AlexeiK Цитата из хелпа Аксеса Свойство «Формат поля» (Format) - Поля даты/времени "hh Число часов, состоящее из двух цифр (00-23)". У меня не Custom формат, а самопальный. А Аксес его причесывает под кастом. В этом и баг. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 11:32 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторCustom formats inconsistent with the settings specified in the regional settings of Windows are ignored.тада еще и это плюсуем. авторThe following are examples of custom date/time formats. Setting Display ddd", "mmm d", "yyyy =Mon, Jun 2, 1997 вот это называеться custom ...... dd.mm.yy" "hh:nn:ss и вот это не есть самопальный, это есть custom.(по твоей цитате) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 14:51 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
крупный баг: Crosstab (перекрестный запрос) считате неверные результаты подробности тут: http://www.sql.ru/forum/actualthread.aspx?tid=179104 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 15:17 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access2K ru - > AccessXP ru несовместимость версий http://www.sql.ru/forum/actualthread.aspx?tid=179970 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2005, 17:52 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ACCESS 2003 - ADP если в источнике данных поставлена СП или еще что-то, и при выборе уникальной таблицы Access , бывает лажаеться и не дает выставить ее. тогда надо на событие Открытие, формы, проставить ее. и все будет ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2005, 14:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
DAO (Jet4.0 SP8) Access 2003 метод Open объект recordset при открытие на базе sql строки содержащей оператор JOIN в условии ON , котрого указано объединение по не существующему полю.....отсылает вас в microsoft. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2005, 16:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Смешной баг. Открыта таблица, две колонки спрятаны (Hidden). Помечаю несколько клеток правее спрятанных колонок и делаю Paste. Все работает нормально, но помеченными черным оказываются не те клетки, где я делал Paste, а на две колонки левее. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2005, 22:14 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access XP ADP. В форме есть комбобокс cbMY и текстбокс tbMY. У комбобокса 3 столбца, около 20 записей, выбрана средняя Если у текстбокса в конструкторе определен источник данных =[cbMY].[Column](2;0) , то согласно хелпу на column ожидаю, что в текстбоксе отобразится третий столбец первой строки набора записей комбобокса. Но оказывается, что отображается первый столбец третьей записи. Т.е. все наоборот и надо указывать =[cbMY].[Column](0;2). А может просто жара. Кому-нибудь интересно? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2005, 17:01 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
открываем access97 и открываем 2003 sp1 ADP заходим в свойство какого нить элемента на форме, переходим копируем значение из какого нить поля с Закладки Данные ...и вставляем его в тоже свойство любого элемента в 2003 access ии 2003 уже генерирует критическую ошибку и отсылает вас с отчем в MS. :) это если копируем текст из 97 в русской раскладке . система 2000 винда sp4. я просто хотел скопить имя функции из 97 в 2003 .....чтобы руками не вводить а он меня вывалил с отчетом об ошибке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2005, 19:35 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
еще парочка: ADP, XP 1. Есть таблица CONTRACT переименовываю в нижний регистр Contract нажимаю энтер - название остается в верхнем регистре. помогает переименовать в Contract1 а затем Contract 2. странный глюк, так и не понял в чем его прикол. был отчет, основан на хранимке в секции заголовка поле с формулой = format ... & .... работало на всех компах, потом везде перестало, стало давать ошибку что в ровсете нет поля format - не понял я юмора с чего он VBA функцию стал запрашивать из рекордсета, разбираться не стал вынес заполнение поля в код форматирования секции ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2005, 14:16 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
по поводу №2 в предыдущем посте обнаружил что формат перестал работать во всех отчетах, стал искать причину нашел ее в том что каким то страныым образом референс на ADO 2.8 перескочил на ADO 2.1 после поправки ссылок глюк исчез. странно что референсы влияют на поведение стандартных компонентов - отчетов ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2005, 09:48 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
От меня тоже глючок: Делаем контрол поле со списком и на источник вешаем запрос такого вида Код: plaintext 1. 2.
то при открытие формы контрол позволяет выбрать первый четыре значения из списка, а остальные ку-ку(при выборе сбрасываются) Пришлось писать так Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2005, 13:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Баги говорите? Хм... Вот вам совершенно свежий и невероятный, на грани кина "Ван Хельсинг"... Предупреждение – в домашних условиях не повторять! Этот трюк выполнен профессиональными каскадёрами. Достаточно серьёзный проект, winXP PRO, Access 2002 SP3 .mdb (Jet 4.0 SP8 4.00.8618.0) DAO 3.6. (есть причины у заказчика использовать именно такой фарш) Примерно треть уже готова, более 2500 процедур и функций при очень высоком повторном использовании кода, объекты, классы и прочая хрень... Через месяц показывать заказчику основной, базовый функционал (он работает и уже активно тестируется тестерами). 4 дня назад, очередной слёт Аксеса (с открыткой к MS - типа, не смогла я...) Код больше не открывается. Обычная история. Раз в неделю. Создаю новый .mdb, декомпилирую, импортирую объекты, восстанавливаю референсы. Вроде завёлся... Опа... Опять вылет на пустом месте. Не понял... Бьюсь головой об стену 3 дня и 3 ночи. Путём отсечения кода и какой-то матери выясняется, что в коде больше не работает Me.Refresh именно для форм с подчинёнными формами в виде грида. Опа-на.(! Погодите смеяться, дочитайте до конца) Ещё сорок три «Привета в Микрософт», ведро шамана и новый клок седых волос. Проверка патчей, программной среды, переустановка от блудного беса – всё тщетно. Наполовину готовый проект встал намертво! Заказчик нервно грызёт ногти, я пью валидол. Для чистоты эксперимента, переношу код, формы, отчёты, таблицы и запросы в текст. Текст несу на СОВЕРШЕННО СВЕЖУЮ, только что установленную машину, Офис, патчи, всё для жизни. Создаю базу ТАМ, импортирую объекты, компилирую – без замечаний. Доходит до Me.Refresh – упал! Я уже в шоке. За 8 лет активной разработки на Аксесе видал всякое, но такое. Форма с подчинённой чуть сложнее «перетягивания каната». Ломаться нечему. Прямой рекордсет. Me.Refresh. Ё-о-о... Ладно. Берём с нашим админом машину с Аксом 2003 – отрабатывает нормально, без падений и с присвистом. Приехали. И больше ни на какой машине с 2002-м ЭТОТ код НЕ поднимается. Отказ устойчивый. Уважаемые знатоки, внимание вопрос: а что же тогда тестируют тестеры? У них всё ок. (откомпилированный .mde) Поднимаю архивы из хранилища с их ветками кода, сравниваю с текущей – коды идентичны и по временным маркерам НЕ менялись с момента ПРАВИЛЬНОЙ компиляции. Перекомпилирую РАБОЧИЕ ветки, запускаю – упал!.. Санта Клаус, блин. Ради эксперимента – поломанную базу несём на 2003 – отрабатывает влёт. Я-то понимаю, что это баг Джета4 в связке со средой Аксеса (msjet40.dll генерирует ошибку, дамп регистров прилагается) Я понимаю, что надо мучить техсуппорт Микрософта, а не вас, уважаемые читатели форума. Я всё это понимаю. Но дальше 2003-го не убежишь! И гарантий никаких. И уже порядком надоело колупаться в ТАКИХ багах! Достало! Сменю среду, к чёртовой матери. Уже книгу могу написать - "1001 Шаманский бубен в Аксесе и почему ни один вам не поможет..." Не вернёт она мне ни денег, ни нервов, ни времени, затраченного на чехарду одной корпорации, не доводящей до ума ни один из своих продуктов. ДальшеВЛес-Темнее-Глючнее. З.Ы. Извините. Накипело. В моей кунсткамере Аксеса есть ещё 3-4 совершенно невероятные истории багосторительства (благо с серьёзными свидетелями, иначе сочли бы меня за сумасшедшего). И ещё 20-30 бесов поменьше. Но Аксес просто неисчерпаем! Это очень интересный инструмент, несомненно, уникальный в своей нише, и плюсов много, и минусов, как у любого ЯРКОГО инструмента. Но иногда он достаёт меня. З.З.Ы. Я всё сказал. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2005, 18:55 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
А теперь на десерт! Люди! Готовьтесь! ЭТО НАДО ВЫДЕРЖАТЬ СТОЯ !!! Я убил почти 4 дня на решение этой головоломки. Я её решил. Теперь у меня всё ОК! Но как мне жить дальше с ЭТИМ знанием? Как не разочароваться в человечестве? Итак, не буду томить. Решение следующее (без всяких ср_ных техсуппортов МС). На форме (относится ТОЛЬКО к формам с подчинёнными формами в виде грида, на формах с одной таблицей - всё работает даже с ЭТИМ) есть группа лейблов (LABEL) содержащих ШРИФТ WINGDINGS !!! Повторяю - просто лейблы, просто текст, просто шрифт Wingdings с картинками (стоит на каждой Винде), ни с чем не связанные - просто украшалка серого фона формы... Шестым чувством, убираю этот шрифт (на исходе-то 4-го дня сумасшествия, звонков, прессинга Заказчика, размышления о смене профессии...) И О ЧУДО ЯВИЛОСЬ!!! АКСЕС 2002 ПЕРЕСТАЛ ПАДАТЬ! ПРОСТОЙ ЗАМЕНОЙ ШРИФТА В ЛЕЙБЛЕ! Я показал коллегам - они не поверили глазам своим. Я тоже. Я сплю... Вернее - лучше бы я спал. (вырезано цензурой - десять минут ора матом ...) Поздравляю себя. Я прошёл очередной тест работы с продуктом МС. (Правда, за это медаль не дадут или даже жёваный сертификатишко... Для тех кто одновременно работает в Асксес97 и Аксесе200х знакомы проблеммы шрифта Haetten.ttf (файл которого в системе вовсе и не так называется.) И я ещё шутил в 1-й день, в состоянии аффекта,- "Ага, потом окажется, что Аксу какой-нибудь шрифт не нравится или приложение Калькулятор у него не той модели...) Господи, прости меня! З.Ы. Модераторы, пожалуйста, не убивайте мои посты! Я не клоун, я живой! Я уже седой, реальный дядька, жизнь проживший! У меня есть свидетели!.. Позовите консула, в конце-то концов!.. З.З.Ы. Если ты настоящий мачо, готовый бороться с ветряными мельницами - Аксес твой инструмент, сынок... Это не розыгрышь! Теперь на меня и на "битую шрифтом Wingdinds базу" коллеги будут ходить смотреть, как в зоопраке. (Разместить код в публичный доступ не могу - коммерческая, заказная разработка.) :-( А очень бы хотелось - в назидание потомкам!.. З.З.З.Ы. По пятибальной шкале моего личного "дерьмометра" для Аксеса, этот косяк Микрософта тянет на 5+ баллов! Использующие МС Аксес 2003 - в этом месте спите спокойно, поправили втихую... :-( Повторяя слова Юлиуса Фучека, скажу - "Люди, будьте бдительны..." ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2005, 00:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Попытались повторить глюк на вновь созданной базе, новые таблички, формы (попроще кончено, в качестве эксперимента) - нет глюка. Зараза! Не повторяется. На боевом, реальном проекте - падает. Убираем шрифт Wingdings из надписей (лейблов) - живёт... Б... какие-то сказки Пушкина! А вы говорите - баги! (Кстати, реальный проект пересоздавался с нуля с экспортом уже много раз, в том числе и из-за этого глюка.) Наверное, в проекте какой-то особый микроклимат... Не, я всё-же отошлю багрепорт в Микрософт, интересно - что скажут? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2005, 01:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Я уже ничего не понимаю... Три последние часа база работала нормально. Теперь стала падать и без Wingdings'а... На 3-х разных машинах! Что вообще происходит?.. Брошу я Аксес нафиг! Это уже не глюки - это Злые Духи! :-( "Окропить помещение!.." (с) Булгаков. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2005, 01:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
автор 2500 процедур и функций при очень высоком повторном использовании кода, объекты, классы и прочая хрень... честно говоря вся эта фраза целиком и отдельными частями - сильно смущает. и, видимо, исключает возможность посмотреть глазом на такое чудесное поведение. а было бы любопытно и познавательно. а в меньшем масштабе воспроизвести и как полную демонстрацию положить - никак не получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2005, 01:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ТеньОтцаГамлета Брошу я Аксес нафиг кажецца с очень похожей траблой билась на форуме какая-то дама. не далее чем... с полгода, нарно. не помню, чем кончилось. ззы - фчера в древнем прожекте 97 (перетащен с 2.0) убил очередную траблу - не любит, хад, одноименных форм и атчетов. к билу не шлет, но ватсона вызыват. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2005, 12:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
В данном конкретном случае, фраза "более 2500 пр-р и ф-ций..." (MZ-Tools Statistic) - это характеристика проекта, мера объёма, если хотите, а не длинна ХХХ в сантиметрах. Простите, пожалуйста, если кого задел. Можете воспринимать это как биллетристику. Но, в общем, вы правы - к делу это не относится. Повторить сей фантастический глюк на простом примере - 2 формочки, 2 таблички и запрос с объектом - к сожалению, не удалось. Самому хотелось продемонстрировать его широкой публике. Чтоб "порадовались вместе". Резать реальный проект под эту примитивную дему... Ну не до этого мне, поймите и извините. Корма повисла над пропастью. Мои предыдущие посты, это просто крик отчаяния в форточку... Я не просил помощи. Со временем поборем и этого зверя. Первый шок прошёл, осталась техническая злость. Решаем. Если точно и однозначно определим проблему с коллегами, проинформирую. Пока зацепиться не за что. Прошу прощения, далее в обсуждении учавствовать не могу. Вопил от избытка чувств... ну, в общем, понятно. З.Ы. Описанный глюк не чудо и, наверняка, имеет под собой осязаемые корни. Просто ЭТО пока вне моего понимания и опыта. Апостериори. Как гроза для древних. Только древние приносили в жертву соплеменников, а я всего-лишь стал дёргать шрифты, коллег, код и нафлудил в форуме. И с той же эффективностью. :-)) В основе и того и другого - страх и непонимание природы происходящего. Суеверия, короче. З.З.Ы. А бага на месте. Падения странные - то 10 из 10, то 6 из 10, зависит от фазы Луны. Подозрения есть, но надоело молиться колесу. Ждём-с техсуппорта. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 00:23 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
На всякий случай дам ссылку - может кто споткнется: http://www.sql.ru/forum/actualthread.aspx?tid=190203&pg=9#1698088 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 00:54 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2ТеньОтцаГамлета у меня нечто аналогичное было решилось в лоб - для каждого открытого рекордвета вставил close и nothing а вылетало так же не стабильно. ЗЫ не думаю , что в таком проекте новички учавствуют , но .... и на старуху бывает.. ЗЫ а у меня тоже баг не баг (мдб/ХР) в форме делаю Recalc. на другой форме в подформе происходит обновление данных. в другой форме Recalc тот же эффект. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 08:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
кстати говоря о незакрытых рекордсетах и прочих траблах связанных с переполнением оперативки в качестве диагностики: попробовать установить большой и фиксированный размер своп файла (например несколько гигабайт) если падения прекратились/ стали реже значит вероятная причина - плодящиеся неприбитые объекты дело в том что винда всех версий может давать ошибку в выделении дополнительной памяти в момент когда своп файл заполнен и идет процесс его автоматического увеличения и эта ошибка далеко не всегда обрабатывается ... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 10:02 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
больше 4Г не получится ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 15:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Имеется таблица с полями 3 PrintID int 4 0 0 TemplatesID int 4 0 0 UserLogin nvarchar 25 0 0 PrintDateTime datetime 8 0 У таблицы есть триггер ALTER TRIGGER Tbl_Prints_TriggerMain ON dbo.Tbl_Prints FOR INSERT, UPDATE, DELETE AS DECLARE @InsertedCount INT DECLARE @DeletedCount INT SET @InsertedCount =(SELECT COUNT(*) FROM INSERTED) SET @DeletedCount =(SELECT COUNT(*) FROM DELETED) IF (@DeletedCount>0) IF (@InsertedCount>0) BEGIN INSERT INTO dbo.Tbl_Logs (LogDate, UserLog, LogDescription, LogNewValue, LogOldValue, ID, IDDescr) SELECT CURRENT_TIMESTAMP, CURRENT_USER, 'Update print table', rtrim(inserted.UserLogin) + ' ' + rtrim(CONVERT(char(10), inserted.PrintDateTime, 104)), rtrim(DELETED.UserLogin) + ' ' + rtrim(CONVERT(char(10), DELETED.PrintDateTime, 104)), deleted.PrintID, 'PrintID' FROM INSERTED, DELETED END ELSE BEGIN INSERT INTO dbo.Tbl_Logs (LogDate, UserLog, LogDescription, LogOldValue, ID, IDDescr) SELECT CURRENT_TIMESTAMP, CURRENT_USER, 'Deleted from print table', rtrim(DELETED.UserLogin) + ' ' + rtrim(CONVERT(char(10), DELETED.PrintDateTime, 104)), PrintID, 'PrintID' FROM DELETED END ELSE BEGIN INSERT INTO dbo.Tbl_Logs (LogDate, UserLog, LogDescription, LogNewValue, ID, IDDescr) SELECT CURRENT_TIMESTAMP, CURRENT_USER, 'Inserte in print table', rtrim(inserted.UserLogin) + ' ' + rtrim(CONVERT(char(10), inserted.PrintDateTime, 104)), PrintID, 'PrintID' FROM INSERTED END Если для таблицы задать Primary Key то при добавлении записи выскакивает сообщение, The data was added to tha database but the data won't be displayed in the form because it doesn;t satisfy the criteria in the underlying record source. в таблице добавленная запись помечается как удаленная, но после закрытия и открытя запись показывается. Решение не нашел, просто не использую PrimaryKey. Так что, если вдруг кто найдет причину буду благодарен, а пока для услады самолюбия называю это багом. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 16:40 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
не баг это ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 17:17 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
удалить из таблиц в которые вставляешь историю поля идентификации и в начало триггера set nocount on ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 17:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Убрал иденты в таблице логов и все зарабатало (SET NOCOUNT ON не обязательно). Спасибо, и если можно под конец немного теории, почему при изменении или удалении сообщение не появлялось только при добавлении? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 18:06 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
предположительно это происходит потому что для того чтобы приложение (неважно аксесс или еще какое) смогло догадаться что ему надо загрузить какую то только что добавленную запись оно получает с сервера переменную @@IDENTITY и по ней подтягивает новую запись. если идет в триггере вставка в таблицу где есть идентификация то эта переменная сервера принимает значение идентификатора таблицы в которую добавил запись триггер последний раз, по идее в форуме предлагалось модифицировать триггер на запоминание этой переменной до вставки в таблицы истории и назначение правильного значения в конце триггера ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2005, 18:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Продолжение триллера, если кому интересно. Как и предполагалось, обращение в техподдержку МС ничего не дало. Выслушали, поцокали, вежливо послали в... Редмонд, США. Спасибо и на том. Это информация на заметку тем, кто собирается покупать девелоперские лицензии - если вы не Газпром, особо разговаривать с вами не будут. Как было заявлено - ни в СНГ, ни в России НЕТ поддержки разработчиков Аксеса. Есть платные программы поддержки девелоперов, но, если вы не Газпром (см.выше). Посоветовали походить по форумам... По сути проблемы. Уже почти месяц убили на её локализацию. Пришлось даже открутить объектную модель и переделать на функциональную у проблемной зоны, чтобы убрать "шум" объектной модели ВБА+Аксес. Что удалось выяснить (не истина в последней инстанции, понятно...) Ошибка в ДЖЕТЕ - 90%, 8% - особенность архитектуры приложения, 2% - цейтнот и замыленный глаз. Ситуация такая - есть основная таблица, у неё подчинённая, один-ко-многим, на основе этих таблиц есть 3-4 запроса, динамика. Обновления с формы идут прямо в динамический запрос и каскадом возвращаются в таблицу. В форме есть код, отлавливающий события и производящий запись в том же Engine(n) отдельными пакетами UPDATE. Всё пучком работало почти пол-года (A2002-2003). Почему падал Me.Refresh (упрощённо, своими словами, т.к. действительная модель сложнее). Как и предполагалось, ДЖЕТ не может нормально разобраться с блокировками "динамиков", когда их много и они идут пакетно, вмешиваясь в процесс обновления друг друга (обработчики ошибок "подожди, я обновляюсь" везде присутсвуют, но срабатывают не стабильно, то перехват - блокирован другим процессом ядра - жди, то как и нет никаких блокировок, а на выходе из процедуры - крэш... Причём, обращения из кода других клиентов видят блокировку нормально, а сам локальный код не даёт исключения - пролетает как в унитаз) Это явная бага с уровнями блокировок, и МС проще послать нас в... (Редмонд, по-нашему Бобруйск), чем разбираться с такой, цитата, "штучной багой". Радости добавляет и операционная система. Открыт Журнал, корневая запись + 2 динамических запроса, открыта Накладная + подчинённая + 3 динамических запроса. В коде нескольких проц-р может происходить (в т.ч. и рекурсивно) обращение frm.Refresh (аналог Me.Refresh, форма - по ссылке) и управление в код этой рекурсии возвращается раньше, чем подтянутся все обновления динамиков. Но код не стоит на месте, у него идут расчёты и обновления UPDATE (уже не текущим рекордсетом). И вот этот режим ОЧЕНЬ не нравится ДЖЕТу. Не любит он его, хотя ни в MSDN, ни в КноледжБэйсе нет замечаний по такому режиму работы, я не нашёл, во всяком случае (на заметку разработчикам). В общем, в данном случае или ДЖЕТ, или ОС тупят на блокировках процессов ядра, а может быть и на уровне файловой системы - не знаю, гадать не буду, не моя компетенция. DoEvents с временнЫми задержками - решает проблемы падения. Написал код, разруливающий "многозадачность" ДЖЕТа. Но это КОСТЫЛИ! В общем, танцы с бубном. Таким способом решена одна из проблем. В другом месте проекта падения пока не прекратились - там тоже похожая проблема, но, кажется, ДЖЕТ ведёт себя несколько по иному (многоликий наш Гудвин). Разобрались и почему некоторое время проект шевелился при смене шрифта Wingdings. К баге это не относится. Здесь рассказывать не буду. Стыдно... Почему в откомпилированном на месяц раньше mde код срабатывал нормально - загадка. "НЛО, необъявленный визит..." Продолжаем разбираться. Если поборем и второй баг - напишу. З.Ы. Господа из Микрософта! При попытке записи какого-либо процесса в не успевшую измениться на данный момент времени запись должен срабатывать флаг блокировки и возвращаться номер ошибки! А не падать всё приложение, со вздохом "не шмогла я..."! "Учите албанский..." Однозначно! З.З.Ы. По поводу шамании с оперативкой, утечкой памяти, затыков файловой системы и т.п. Я думаю, гораздо эффективнее использовать мониторы замеров производительности (перфомансы всякие), с временнОй сеткой, и потом читать графики - там будут отражены и выделения памяти, и свободные дескрипторы, и дисковый кэш, промахи попадания, и ваши неубитые объекты, и взрывные увеличения памяти. Запустил своё приложение, пожамкал пимпочки - читай логи монитора. Да и хорошим тоном в программировании являются директивы компилятора и логи отладки. "Родил объект, не поленись записать, убил - то же... То же самое для критических операций. На малых проектах это может и лишнее, а вот на больших расход времени на эту служебную инфу с головой окупится потом, при обнаружении "висяков и косяков". А в конечной сборке служебного мусора не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2005, 14:30 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2ТеньОтцаГамлета а там у тебя me!recalc случаем гденить не используется? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2005, 15:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
маленкий смешной глюк - фичу: тока что заметил ADP представление открыто как таблица (может также и mDB и просто в таблицах, но наткнулся именно здесь) копирую запись в которой "рога и копыта" OOO выделяю ячейку в другой строке на линии пересечения клеток (курсор - крест) чтобы выделилось не содержимое а вся ячейка делаю вставку CTRL+ V и вижу чудо! рога и копыта OOO кавычек нет!!!!!!!!!! если войти в клетку то вставка с кавычками нормально проходит ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2005, 15:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
АлексейК> маленкий смешной глюк - фичу: Подтверждаю. Акцесс97 sr2, если для копирования выделить текст в ячейке, а не всю ячейку ("крестом") Posted via ActualForum NNTP Server 1.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2005, 15:30 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторРазобрались и почему некоторое время проект шевелился при смене шрифта Wingdings. К баге это не относится. Здесь рассказывать не буду. Стыдно... а жаль очень. попробуйте посмотреть на с другой стороны. Вряд ли это смертельно опасно - услышать в свой адрес "вот видишь, мол.." Зато это действительно может оказаться полезным для других. ( Например, для меня). По существу всего остального. Мне понятно Ваше раздражение в ответ на неполучение технической, или, хотя бы эвристической, консультации. Я не являюсь ни сотрудником microsoft, ни знатоком предмета. И содержательного Вам совета не дам. Скажу только, что абсолютно полной, ясной и однозначной уверенности на 100% в том, что Вы имеете дело с багом, у меня не возникает. Признаки того, что это "баг" есть. И Вы достигли потрясающих успехов в деле осмысления ситуации. Однако, не имея до конца ясной картины происходящего, Вы не можете, во первых, исключить последующего повторения: "Здесь рассказывать не буду. Стыдно..." Во вторых, создавая, по вашему описанию, весьма сложную конструкцию, размещенную в сложном операционном окружении, вы справедливо предполагаете, что ошибка может быть в другом или на стыке. Даже в этом случае это не обязательно баг, а, может быть, проблема "параметров исполнения". Кргда я сам попадаю в подобные ситуации - меня ясно и точно раздражает проблема отсутствия информации. Это может привести к осознанию безысходности. Если оно даже где-то и описано что-то по теме, то мне прочитать негде, или я даже не знаю как догадаться, что именно и где надо прочитать. Спросить не у кого и приходится спрашивать, вопия в виртуальное пространство. Расчитывать, что его эхо донесет ответ несколько фантастично, но - чего только не бывает на этом свете... В этом плане совет - идите вы, мол, в Редмонд - выглядит вполне конструктивно, на мой взгляд. Так или иначе - речь идет о наборе правил и техник обращения с действительностью, устройство которой мне неизвестно, и которая может и содержит в себе ошибки и опасные зоны. Ненарушение "заветов" минимизирует соприкосновение с ними. Я думаю, что тема Вашей борьбы вполне достойна того, чтобы быть изолированной от темы "баги" потому, что Вы находитесь в стадии исследования сложной задачи, ясно претендующей на формирования чего пригодного для заветирования и скрижалирования. А тема "баги" (как мне кажется) задумывалась создателем для размещения фиксированных, ясно изложенных, воспроизводимых ситуаций, проиворечащих декларированному поведению Access. ЗЫ То есть очень все это интересно, понятно в эмоциональном плане и совершенно сочувственно. Но, кажется, переросло стадию "блин, кругом баги и все козлы" и, почти должно либо завершиться фиксацией передаваемой техники, либо фиксацией четко описанного бага, либо и того и другого. Причем вполне достойнно и уместно - в отдельном топике. С искренним интересом и симпатией, но в полной несостоянии содержательно помочь, Victosha. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2005, 15:43 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 вадя: Я читал Ваши посты о Рекалке. Смотрел пример - интересный эффект. :-)) Загляните, пожалуйста, в свой топик. 2 Victosha: Захламил я топик, однако. Замечание принято. Извините. Я понимаю, что выступаю вне темы - просто всех коллег и близких уже колбасит от этого, а поделиться хочется. Всё, последний пост... :-) Про стыдно. Тут не боязнь показаться смешным и нелепым. Ошибаться не зазорно. Посмеяться над собой, любимым, полезно. Коротко - сидел я, в состоянии лунного затмения, шаманил и закомментировал строчку кода. Пару часов радовался жизни. Вовремя не заметил. Потом, видать, при очередной правке - ой, а чего это он закомментирован? - вжик и бага снова на месте... Про Редмонд. Я не зол на техсуппорт, у них своя работа. И представляю, каковы усилия и стоимость вылова этого дурацкого глюка. В МС мы готовы предоставить полный код проекта с инструкцией по воспроизведению проблемы (может наши ноу-хау и смешные для МС, но это "наше всё", имейте милость к падшим...). Готовы даже приехать (только не в США - кирдык бизнесу с такой рентабельностью) и вместе разруливать. Но это не нужно им! И я также понимаю, что жать убогий Российский техсуппорт МС бессмысленно. Тут надо садиться с разработчиками ДЖЕТа и шагать код в отладчике, до момента - ага, вот!.. Дезассемблировать же код ДЖЕТа мы не имеем ни квалификации, ни времени, ни права. Плюс P-код Аксеса - это таакой лес! В общем, мина та ещё. И, действительно, обидное ощущение, что тебя просто "кинули", как только проблема стала сложнее, чем "поставьте галочку в настройках". И тут спасает только три вещи. 1) Бубен. 2) Два бубна. 3) Возможная помощь многих людей (форум), объеденённых в некое условное сообщество и уже топтавших эти грабли. Про скрижали. Я не могу сейчас однозначно зафиксировать технику. У меня вопросов больше, чем внятных ответов. Тут, по хорошему, целую статью писать в какой-нибудь "Акссес НьюсВик Ресёрч". И ждать реакции прогрессивной общественности. Но не до этого. Да и коллеги осудят - "да вы с дуба рухнули использовать Аксес в такой позе"... И будут, в общем-то, правы. Хотя, этот проект не самый крупный из наших Аксессных. Есть и поболее монстры, что сами удивляемся. Но с другой внутренней архитектурой, более простой и "деревянной". А жаль, Акс - хороший инструмент. Его бы до ума довести, муками всей планеты. Но к бизнесу МС это, видать, не относится. Да и их вердикт, возможно, будет - "вы переоценили возможности инструмента, сами дураки, лучше купите у нас новых мягких французских булок...". Про выявленную аномалию. Общий совет всем разработчикам: избегать архитектур, при которых возможна конкурентная запись в "длинные" цепочки каскадных рекордсетов и изменяемых запросов. (передал по ссылке - обработал - передал дальше, следующий обработал свою часть - передал - и т.п - а последний вернулся в объект и решил обновить не отображающую последних изменений форму - и тут ему ага...). Особенно с открытыми на момент записи формами (особенно со сложными полями с условным форматированием - там вообще глюкодром), которые в свою очередь ловят события обновления для своих целей. Особое внимание, при хранении динамических рекордсетов в экземплярах классов, как внутренних локальных объектов. Так и тянется рука простым присвоением внутреннего свойства получить автоматическую цепочку обновлений (фантастически удобно - просто гимн Аксесу, такая вкусная идея). Но там минное поле... Заставить всё это шевелиться - поседеешь. В общем, старый как мир завет - чем проще код, тем надёжнее работает. Всё, всё. Ушёл. :-) Ещё раз пардон автору топика. Всем удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2005, 07:11 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 ТеньОтцаГамлета Читал, полностью согласен по поводу техподдержки - сами нарывались так. Касаемо остального - надо смотреть на примерах. 2 ALL Вот наткнулся недавно на свой скрин 2-х годичный (не фейк) - мож кто такое и наблюдал - проявлялось при сохранении форм как текст или ещё при какой-то недокументированной опции. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2005, 09:34 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
вот баг с полностью русскими именами функций, функции размещены на тулбарах и контекстных меню.access перестает их видеть, когда произведен экспорт отчета в excel . и еще одна ошибка с русскими именами функций при экспорте в тот же excel , ошибка:". и ! обнаружены и т.д......" происходит если в заголовке отчета стоит вызов функции с русским именем, примечание отчета не генерирует ошибки. вот собсно 1 ошибка лечиться перезапуском проекта, и вторая ошибка просто не дает скинуть отчет в excel. одним словом перебор! так с русским касячить это нечто, интересно с другими кодировками , кроме английского так же косячит. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2005, 10:24 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
забыл дописать: adp , access 2003 sp1 ,reports(shape) оба глюка лечаться, заменой русских имен на английские. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2005, 10:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вероятно, я последний, кто не знал о том, что запросы с использованием внешнего соединения, где одним из полей связи является вычислимое ("литеральное") поле могут (будут) терять строки. Потери строк не происходит, если оба поля связи вычислимые или оба поля "натуральные". также я не догадывался, что сортировка по неиндексированным полям действительного типа в запросе не работает. если в поле MyDecimal присутствуют положительные и отрицательные значения, то ORDER BY BadSort.MyDecimal DESC; отсортирует ни так ни сяк лечить как-то так: SELECT BadSort.MyDecimal FROM BadSort ORDER BY ccur(BadSort.MyDecima)) DESC; или заведением индекса или отказом поля (;; исходная информация и дальнейшие ссылки найдены здесь http://allenbrowne.com/tips.html PS а описанного в дальнейшей ссылке на КБ различия в поведении внешних соединений в Акцесс и СКЛ Сервер я тоже не подозревал. и всегда писал условия в левых соединениях для сервера в "стиле акцесс" :)(: ЗЫ2 может это вовсе и не в баги, а в знаете ли вы, что?... (с выражением лица) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2005, 02:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
VictoshaВероятно, я последний, кто не знал о том, что запросы с использованием внешнего соединения, где одним из полей связи является вычислимое ("литеральное") поле могут (будут) терять строки. На всяк случай: /topic/40342 /topic/40504 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2005, 02:55 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
эээ, батенька - я тогда ищо не родился (на форуме). и скрижалей не читаю. от большого ума. :) (с выражением лица) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2005, 03:01 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Из нашего корпоративного фака: --- 1. MS Access 2000, MDB. При каких-либо ошибках в функциях и процедурах VBA (приблизительно на четвертом уровне вложенности функций друг в друга), в которых используются метод .Requery или .Refresh для какой-либо формы при попытке посмотреть источник ошибки с помощью кнопки "Debug" появляется сообщение "Выражение слишком сложное" (дословно текст не помню, но смысл именно такой). При нажатии на Ок - бесконечное повторение сообщения "Объект не найден" - спасает только Ctrl+Alt+Del --- 2. MS Access 2000, MDB, ADP. Если к функции ufMyProc, находящейся в модуле modModule, обратиться через Код: plaintext
И если в этой функции есть ошибка, ТО указатель при нажатии на "Debug" в отладчике остановится не на ошибке внутри функции, а на строке "modModule.ufMyProc" --- 3. MS Access 2000, MDB, ADP. То же самое для методов и функций пользовательского класса. --- 4. MS Access 2000, MDB При импорте\экспорте объектов (форм, отчетов и классов), содержащих ссылки на специфические библиотеки, на другие формы\отчеты или на ActiveX'ы из одного MDB в другой - как правило приводит к ошибке "Network Error" при попытке обратиться к исходному коду этих объектов. Лечится следующим: - перед переносом создать форму, на которую накидать все необходимые ActiveX. - для этой формы создать модуль (войти один раз в к.-л. событие) - компилировать исходный код, сжать-восстановить проект - провести импорт - подключить все необходимые библиотеки и компилировать исходный код - сжать\восстановить Внимательно соблюдать правило - сжатие и восстановление всегда проводить ПОСЛЕ компиляции кода И только если компиляция прошла без ошибок. --- А еще - при повороте экрана на 90 градусов, т.е. "набок" (используется приложение Pivot Software, идущее в комплекте с такими мониторами от Futjitsu Siemens) - перестают работать программы для просмотра виде-файлов ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2005, 07:09 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
забавный баг наблюл в аксессе 97: фтянул формичку из старого прожекта, + поменял чуть источники. в процедуре перехода по выбору (из списка) начали слетать поля связи Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
всего то пара полей с именем [Name] (были и в прошлой базе), поимела индексы, причем уникальный индекс в мастере. Кто видел такую фичу (слёт линковок мастер/чайлд в момент исполнения)? С чем могабыть связано? (не пора ли полечицца ) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 15:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Нашел сладкую багу :) Строго говоря, бага относится не к самому аксесу, а к VBA и процессу измененения региональных настроек винды. Сначала, как говорится на anekdot.ru, преамбула. В VBA имеется функция Str(...), возвращающая строковое представление числа, переданного в качестве аргумента. Отличительной особенностью этой функции является то, что в возвращенной строке десятичным разделителем является точка, независимо от того, какой десятичный разделитель прописан в региональных настройках системы. теперь амбула. Для изменения десятичного разделителя через обычный виндузовый интерфейс требуется задействовать два окошка - одно (далее "родительское") вызывается из панели управления ("язык и региональные стандарты"), другое (далее "дочернее") вызывается по кнопке "настройка" в родительском окне. Экспериментируя с этой функцией и региональными настройками, обнаружил следующую багофичу. Если поменять региональный разделитель в "дочернем" окне и закрыть дочернее окно не закрывая родительское - то VBA-шная функция Str() возвращает строку с десятичным разделителем, равным не точке, а тому, что было задано в "дочернем" окне. Т.е. в этот момент ("дочернее" окно настроек закрыто, "родительское" еще нет) - функция Str() работает неправильно. После закрытия "родительского" все возвращается на круги своя, функция Str() начинает использовать в качестве десятичного разделителя точку, как и должна. Бага сама по себе не особо критичная, но пугает сам факт того, что функция, которая вообще не должна лезть в региональные настройки - зачем то туда лезет, да еще и умудряется неподтвержденные настройки оттуда выдирать (в родительском окне ведь можно еще и "Отмена" нажать). Проверялось на Windows XP SP2, Access 2002, Excel 2003 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 15:46 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторБага сама по себе не особо критичная, но пугает сам факт того, что функция, которая вообще не должна лезть в региональные настройки - зачем то туда лезет, тут неясно, почему она этого не должна. где-то она все-таки должна находить американские настройки. и совершенно не обязательно, что в собственном исходном коде. автор да еще и умудряется неподтвержденные настройки оттуда выдирать (в родительском окне ведь можно еще и "Отмена" нажать). что, вероятно, и доказывает, что не в собственном коде. а багофича интересная.... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ЛПНашел сладкую багу :) Эстетично! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:33 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый авторБага сама по себе не особо критичная, но пугает сам факт того, что функция, которая вообще не должна лезть в региональные настройки - зачем то туда лезет, тут неясно, почему она этого не должна. где-то она все-таки должна находить американские настройки. и совершенно не обязательно, что в собственном исходном коде. По описанию - не должна (не обязана). Ей не требуются американские настройки. Не сказано, что Str возвращает строку в американском формате. Сказано что используется точка - и точка. Но на самом деле она туда (в настройки) все-таки лезет. Давно известно, что при некоторых региональных настройках (уже "подтвержденных") её может взглючить. Например, если задать в качестве разделителя какую-нибудь русскую букву - она и выведется внутри результата Str. А если латинскую букву - то точка. Так что с тем что она лезет в региональные настройки я как бы смирился. Но вот то что она неподтвержденные настройки способна утянуть - я не знал. При этом её глючит. Настройки, нормально обрабатывающиеся (т.е. замещающиеся на точку) - перестают нормально обрабатываться (замещаться) 2 Владимир Саныч Эстетично! Это типа гурманство :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 17:00 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ОЧЕНЬ плохо, что об этом явно не сказано в справке. Видимо, это целая длинная история - почему не сказано. Но вот John Green, Stephen Bullen, Rob Bovey and Robert Rosenberg ни от кого ничего не скрывают и всю правду-матку напрямую режут http://www.oaltd.co.uk/ExcelProgRef/Ch22/ProgRefCh22.htm цитата авторStr() Converts a number, date or Boolean to a US-formatted string, regardless of the WRS, Windows language or Office language version. When converting a positive number, it adds a space on the left. When converting a decimal fraction, it does not add a leading zero. ... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 17:39 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Что такое "US-formatted string"? И какое отношение она имеет к системным региональным настройкам? US-formatted - оно живет в региональных настройках? Или оно живет где-то в мозге разработчиков? Если в региональных настройках, то выставление в системе штатовской локали и её модификация (изменение десятичного разделителя) должно оказывать влияние на работу Str, чего однако не наблюдается. Если же понятие "US-formatted" живет в мозге разработчиков - то какого ляда Str лезет в региональные настройки? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 17:51 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
по своей глупости я не знаю ответа на этот вопрос. могу только фантазировать, что речь идет о некотрых "образцовых настройках", за которыми оно таки лезет в систему. не знаю. но ты же сам увидел, что лезет. и что на этапе "до завершения тразакции", "оно/они" даже маскируется текущими локальными установками. шо тревожишь - не знаю я словей. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 18:11 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый могу только фантазировать, что речь идет о некотрых "образцовых настройках", за которыми оно таки лезет в систему. Хорошо, пусть "образцовые настройки" живут не в голове у разработчиков, а зашиты где-то в систему (именно зашиты, они не меняются юзером, иначе они не "образцовые") Ну так и пусть он лезет за "образцовыми" настройками, а не за текущими :) но ты же сам увидел, что лезет. Видел :) и что на этапе "до завершения тразакции", "оно/они" даже маскируется текущими локальными установками. Не совсем так. Кажется мне, что и "до", и "после" - используются текущие настройки, закоммиченные или нет. Только "после завершения транзакции" используются текущие, и при этом все-таки как-то обрабатываются, а "до завершения транзакции" - никакой дополнительной обработки не происходит. есть ощущение, что сначала выполняется преобразование числа в строку с использованием текущих настроек, а потом тупым реплейсом заменяются на точку все известные (жестко прошитые) нечисловые символы. Потому и глючит на неизвестных символах (например русских буквах) в качестве десятичного разделителя. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 18:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
хитр'о завернул. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 18:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
не баг, но неожиданная (для меня) фичА: (аксесс 97) подчиненный отчет при отсылке на печать это совсем другой _экземпляр_ подчиненного отчета, чем тот, который подотчет открытого в предосмотре отчета. Хотя сам отчет - это один и тот же экземпляр. (установлено по разнице в статических переменных подотчетов "просмотрового" и "печатаемого" отчетов). В итоге вместо статиков в подотчете пришлось пользовать переменные уровня отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2005, 12:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
есть база (mdb, Acc2002 10.6501.6626 SP3), в ней запрос с внешними объединениями и двумя обращениями к одной таблице с разными алиасами. По идее этот запрос открывается довольно быстро, но проходит пара дней и время, требуемое запросу дя выполнения становится примерно равным бесконечности (ни разу не дождался результатов, хотя оставлял запрос на час, а раньше он отрабатывал за 20-30 сек.). Лечится сжатием базы, после чего запрос убивается и созадётся новый с тем же кодом SQL. Есть другие способы лечения? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 08:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
DifF в ней запрос с внешними объединениями и двумя обращениями к одной таблице с разными алиасами.1.посмотреть на запрос можно? 2. где лежит база? (т.к. запросы к таблицам на сети могут работать на порядки медленнее "местных". Например со вложенными запросами типа Exists() или IN(Select ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 10:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторЕсть другие способы лечения? Предлагаю попробовать следующее: Открыть запрос в запрос в интерфейсе пользователя в режиме таблицы. После того как появятся строки - нажать кнопку сохранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 10:58 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторпроходит пара дней ... вероятно Вы оставляете брошенными (не закрытыми) объекты DAO. Аккуратно закрывайте QueryDef и/или Recordset, открытые на вашем сохраненном запросе. Это наиболее вероятная причина деградации. с багами, кстати, эта тема вряд ли стояла близко. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 12:09 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 4321: 1. имеет ли смысл? Есть другой запрос, почти аналогичный (различается только 1 условие) который работает всегда нормально. как его лучше выложить? картинку конструктора или текст? 2. база лежит в сети. Но не думаю, что это на что то влияет, т.к. в сети она лежит уже не первый год, а запрос ломается через день. Один раз нормально открывается, на другой день может вообще не открыться (ОЧЕНЬ долго). Вложенных запросов нет. 2 глупыйглупый: не проканает, т.к. в режиме таблицы (если запрос протух) он будет открываться часы, а не секунды, как должен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 12:18 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
не бросайте открытыми динамические запросы и их базовые кверидефы - ничего не будет протухать. если "так надо" - работайте со статическими или форвард-онли рекордсетами. Тогда тоже тухнуть не должно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 12:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2глупыйглупый: этот запрос открывается либо руками из списка запросов в окнее базы данных либо через DoCmd.OpenQuery (что вроде как одно и то же). Никакие связанные с этим запросом запросы по другому никогда не используются. Могут ли влиять на этот запрос явно не закрытые в коде совершенно левые рекордсэты? а на что это похоже, как не на баг, если 1 запрос тухнет, а остальные работают отлично? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 13:00 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторМогут ли влиять на этот запрос явно не закрытые в коде совершенно левые рекордсэты? Да. могут и влияют. Причем самым катастрофическим образом. Проверка сего обстоятельства крайне проста - у Вас должна заметно пухнуть база. Причем именно в вашей ситуации. Которая, после Ваших слов про опенквери, выглядит совсем кисло. Совета три приходят в голову ( в порядки важности) - Если это возможно по смыслу проводимых действий - рискну настоятельно рекомендовать в свойствах запроса поставить тип набора записей - статический набор. - Вероятно, разумно рассмотреть вариант открытия этого запроса не через опенквери, а через форму. - все-таки не оставлять рекордсеты брошенными. автора на что это похоже, как не на баг, если 1 запрос тухнет, а остальные работают отлично? Вот на что это похоже - Ваш запрос сохранен в "компилированном виде". При этом в запросе сохраняется некий базовый адрес, привязывающий запрос к Jet исполнителю выражений. опенквери происходит на фоне какого-то количества открытых (а может уже и забытых) рекордсетов. Не зависимо, есть ли в вашем запросе пользовательские функции (если есть - то все просто немного раньше "плохо" становится), "сохраненный базовый адрес" оказывается недоступным и происходит перекомпиляция запроса. Запрос в результате, перекомпилируется при каждом запуске, вызывая распухание базы. каждый следующий запуск кроме перекомпиляции, приводит к все более долгой загрузке компилированного текста запроса, чей план исполнения оказывается все дальше и дальше. В конце концов большую часть времени запрос занимется не извлечением строк из базы, а попытками загрузить себя в память и скомпилировать. --------------------------------- ящик не ящик, а литр пива я поставил бы на то, что Ваша ситуация мной описана 100% точно. --------------------------------- Ах, если бы Вы были обладалелем кнопки F1..... Лично мне было бы большое счастье. А то я без этого раздражаюсь, быстро теряю равновесие, пухну и падаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 13:58 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ок. попробую. спасибо за советы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2005, 15:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Ынтырэсный Фыча : код Код: plaintext 1. 2. 3. 4.
Если идти по закоментированному пути, то внутрь If err <> 0 не попадаем. и в отладчике err =0, хотя если сказать прямо в отладчике: x = MyDb.TableDefs(tblName).Name то окно ошибки таки всплывает. Пришлось добавлять прослойку Set mDb = MyDb. Токо тады попадам внутырь ашипыка. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 12:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторЫнтырэсный Фыча : Access XP SP3 проверил в процедуре стандартного модуля с включенным и отключенным дао, с КаррентДБ и с со свойством модуля МайДиБи, с созданием новой таблицы между сет и рефреш и без него. Ничего близко похожего не вижу пока. Думаю, речь идет о потере указателя на объект базы, причины которой из показанного кода не видны ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 13:41 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Victosha Ничего близко похожего не вижу пока. верю на всяк случай вот корректный пример кода "с фичей" для 97 (т.е. того, где она проявлялась) Код: plaintext 1. 2. 3. 4.
Private vMyDb As DAO.Database Public Property Get MyDb() As DAO.Database 'не открывает заново, если открыто On Error Resume Next If vMyDb Is Nothing Then Set vMyDb = ... ElseIf vMyDb.Name = "" Then 'err - Если .Close Set vMyDb = ... End If Set MyDb = vMyDb End Property ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 18:35 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
что-то в памяти мусор у меня какой-то сохранился на тему глюков объявлений объектных переменных уровня модуля в 97м. типа - Private, бывает, сбрасывается, а Dim - вроде как надежнее. попробуй для смеха Private vMyDb As DAO.Database на Dim vMyDb As DAO.Database заменить. (не должно бы быть такого (первоначально описанного) глюка и в 97м тоже) а с Private/Dim какие-то хитрости были... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 18:43 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
не в этом дело оказалось, (хотя все вызовы были в том же модуле) а в On Error Resume Next "полечилось" так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 19:06 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Если On Error GoTo 0 поставить после присвоения св-ву ссылки, то "фича" остаецца. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2005, 19:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
сложные чувства - акцесс все-таки расстается со своими заслуженными багами. Form bookmark bug - старый как сам Акцесс, тянулся со 2й версии. Мирно жил во всех последующих. Плавно и уверенно доплыл до 2003й. Взяли да и пофиксили. http://support.microsoft.com/kb/903074/ неужели полностью и окончательно? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2005, 01:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
баг, с потерей функции в именах которых русские символы, после использования экспорта в excel или word , знает кто , как поправить? очень надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2005, 16:21 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый: Не переживайте, Микрософт думает о нас! Нарожал Мудрапраграм, индийский лидер программёров МС, не оставит нас без развлечения! Он уже добавил в аксес много новых, цветастых, трудно повторяемых и диагностируемых баг! :-) Плююсь через день! В топик не пишу, ибо это будет клиника длинною в годы! Нервы дороже - просто ебъезжаю баги костылями! Охо-хо... Начертил себе на рабочей доске страшную древнюю клятву - больше аксесовских проектов - ни-ни! Чур меня... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 13:19 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ТеньОтцаГамлетаНачертил себе на рабочей доске страшную древнюю клятву - больше аксесовских проектов - ни-ни! Чур меня... Обратите внимание на собственные руки. Может в консерватории что подправить? (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 13:22 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 Звереныш: Да уже поздно что либо подправлять. Спасибо за самый оригинальный ответ на форуме! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 13:40 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторОн уже добавил в аксес много новых, цветастых, трудно повторяемых и диагностируемых баг! :-) если бы меня спросили - о чем это в применении к текущим версиям акцесса? я бы предположил, что, вероятно, тема где-то вокруг свойства Form.Recordset крутится (и очень может даже быть, что в adp-проектах). какая-то часть глюков как следствие неотключенной автозамены имен может быть. вообще из багов, думаю, большинство все-же "старых" недолеченных. Типа проблематики вокруг связанного флажка. (см. первую же страницу этого топика :)) ) Вот наблюл одно из проявлений: Если источник данных формы не содержит записей (форма открывается на новой записи), то попытка добавить на форму флажок и привязать его к полю источника данных закончится крахом акацесса в момент сохранения формы. Этого не произойдет, если источник возвращает хотя бы одну запись. (Access 2002 SP3) -- закралось подозрение - вы там часом не 12й ли акцесс альфа-бета-тестируете? интересно было бы посмотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 13:42 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый: Хотите верьте, хотите нет, а дело было так... (с) "Полосатый рейс" Последний баг А2003 (Jet4, mde, раздельные интрефейс и таблицы) - в шоке всем отделом - ставим клиенту обычный пароль БД - падение клиента с письмом к Билли! Заинтересовались, открутили весь код при старте - не поверите - падает редиска!.. Даже старта кода нет. Без пароля на локальную БД - живёт, ставим пароль, падает с письмом... Дамп, мудриль замудрёвая... Ну не верьте, если не хотите. Можете даже пройтись по моим рукам, сдавшим за последние 9 лет с десяток КРУПНЫХ проектов на Аксе, как сделал(ла) это Зверёныш... Мне от этого ни холодно ни жарко. Факт есть факт. Работаем без паролей на клиентах. Шаманили, били в бубен, экспорт, декомпил и прочая молитва от блудных бесов, переустановка ОС и офиса... Ага... Почитайте мои предыдущие посты в этом топике. Многое поймёте. Техсуппорт МС, вежливо - идите нафик!.. Иду. Работаю. На новой, чистой БД - не повторяется. Ну не повторяется совсем! На боевом проекте - упала милая... Так и живём! Ё... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 14:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторНа новой, чистой БД - не повторяется. Ну не повторяется совсем! На боевом проекте - упала милая... интересная тема. а в список шаманских действий входило потрахивание закладки General окна Options из меню Tools->Options редактора? и, есть ли отличия в "формате файла" и какой он у боевого файла и создаваемых вновь? 2003 или 2000? верю. в целом охотно. Кроме того, в последнее время вместе с лохматостью у меня повышается степень самолюбование от неперехода на 2003. :) (сверчок в голове объявился, что может быть и не суждено 2003му офису в конце концов достичь состояния работы пользователя без мата и корвалола.) вероятно, я неправ. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 14:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый: "вероятно, я неправ" Скорее всего вы правы. Я вот вспоминаю глюки а97 как милые пушистые игрушки. После глобального перехода основной части наших клиентов на а2000-2003 - сплошное "Цигиль-цигиль ай-лю-лю... Я тебе потом обьясню что она хочет..." (с) Брилиантовая рука. Похоже МС на акцец наплевать, такими темпами он закопает очень интересный, яркий инструмент, сведёт его на нет... А пробовать... да почти всё пробовали, кроме переписать клиентов на другой среде. И Гетца с его томами в помощь звали и кучу другой умной литературы, и опыт сын ошибок трудных впрягался - воз и ныне там... Падает. Форматы одинаковые. Полное пересоздание проекта - с нуля, экспорт в текст, включая макеты форм... Падает. Всё, извините, опять не по теме топика... Ушёл пить горький чай... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 14:39 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
вероятно, у интерфейсного файла опции "сжимать при выходе" нет, но, если вдруг да - попробуйте снять. про формат одинаковый. мои подозрения где-то вокруг механизма загрузки/компиляции проекта в первую очередь были бы. во вторую, если проект завязан на АДО, я бы в такой ситуации пробовал самыйсамый сервис пак на операционную систему ставить. Задача - максимально mdac в порядок привести. (заметил, что microsoft как-то тихо, но внятно снимает со свего сайта примеры использования АДО в mdb проектах Акцесс, осталяя только примеры использования ДАО. история про "переходите на АДО" - похоже, закончилась.) про формат если текущий - формат 2003, то попробовать новый проект создавать в формате 2000. как-то покомбинировать форматом файла попробовать... Еще бы я обратил внимание на то, полностью или нет скомпилирован проект в тот момент когда он гарантированно падает и в те моменты, когда еще работает. может быть еще пробовал бы декомпилировать проект в 2002й версии , потом снова компилировать и сжать на втором подъеме акцесса. потом смотрел бы - воспроизводится ли ситуация с падением. если нет, то можно попробовать подсунуть такой проект 2003-му ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 15:32 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый: Сенкс за конструктив. :-) Но у нас всё запущенно... Сервис паки - свежак. Всё лицензионное. ОС, девелоперские и прочие тулзы. Полный фарш. (Просто на таком по масштабу и ответственности проекте не может быть иначе - заказчик не поймёт, а санкции могут свести на нет весь девелоперский бизнес, тут не до шуток и уж тем более не до альфа-версий - всё стабле релайз...) Код в основном ДАО, Есть при старте АДО, в основном - наследование построчной блокировки записей, т.к. сам ДАО не имеет такого режима, но может наследовать его от опен коннекшына. Но сама нагрузка практически вся ДАО - и быстрее и функциональнее, плюс манипуляция объектами БД, АДО здесь не при делах, большой гетерогенности источников данных нет - моно, и в АД никто за файлами не ходит. :-) Так что... Сжатия флаг у локального клиента стоит. Да. Хм... (задумался) Проект скомпилирован mde. Где рунтайм, где среда. Падает и mdb исходник - брекпойнты побоку, даже если стартовый код закомментирован совсем - и перекомпилирован, т.е. на пустой стартовой болванке боевого проекта. Что-то ему аура не нравится, наверное... У меня есть чутьё, но пока только чутьё - это где-то в областях безопасности и цифровых подписей VBA копать надо, там косяк. (наделали фич, тьфу) Проект большой, даже слишком. Много всего напичкано. На простых примерах не повторяется. Кстати, это всё тот же самый многострадальный проект, что и в моих предыдущих постах в этом треде - он блин какой-то заколдованный индийскими заклинателями кода из МС! Только теперь он введён уже в промэксплуатацию у заказчика и проходит цикл окончательной доводки и сдачи "госприёмки". :-) Так что это теперь не просто моя головная боль, как тим-лида, это ещё и жёсткий трах в натуральный масштаб 1:1 Механизма загрузки... Да хз... Вот прежняя бага с падениями - никуда не ушла - выход на /refresh из экземпляра класса на динамическом рекордсете - привет Билли. Бага не исчезла, уже SP3, багрепортами весь сервак Микрософту забили - пришлось переписывать куски проекта с ООП на чистый функционал! Блин... Именно поэтому я писал "дал страшную древнюю клятву...", а не от того, что аж целых 3 месяца как Акс увидел. Наелся глюков - аж выворачивает. В копилке отдела есть такие перлы, как например ошибка лейблов при загрузке отчётов - обхохочешься... :-( Сам проект показать не могу, поскольку проприетарный коммерческий продукт. (Ну да вот, смейтесь - угораздило вот так вот на Аксе). Просто поверьте на слово - в проекте матёрые волки. Всё жёстко и по-взрослому. Заборем и эту багу, не в первый раз, просто она - свежак, только вот проявилась. И в аксе так постоянно - никогда ни в чём не уверен - то ли у тебя уже старческий маразм прёт, то ли IDE сошёл с ума, то ли нечёткий баг именно в твоём окружении БД... Слабо предсказуемый инструмент! Его надо доводить до ума, кропотливо, а не выбрасывать каждый год новые версии! Уф... Пардон, накипело. Раскапывать эту багу пока не будем. Своя подсистема аутентификации и авторизации. Баг не стоит остро. Просто сам факт, разговор-то шёл о багах! :-) Тем более пароль в Аксе mde - метод самовнушения, сносится с хедером файла, заголовком, 5-ю строчками ВБА кода. (Ну вот даже тут весь МС во всей красе!) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 16:19 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
интересно, но тут не прозвучало про выгрузку в тхт файл и востановление из него. я заметил, что при отладке, когда акс останавливаешь на брейкпоинтах, а потом просто останавливаешь, или он сам останавливается на ошибках, и при отладке в пошаговом режиме производишь коррекцию кода - акс начинает вести себя несовсем адекватно. похоже что наступает что-то типа "переполнения стека" . вот тут и приходит на помощь написания с "нуля" из тхт файла. пробовали в данном случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 19:14 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 вадя: Добрый вечер! :-) SaveAsText пробовали (см. выше по посту). Эффекта нету... Как любят выражаться высокие милицейские начальники - в ходе расследования этой баги выявлено и исправлено 5 мелких косяков разработчика, но главную багу не раскусили. Да фиг бы с ней, плюнули уже - записали в багтрек, присвоили статус "отложено"... Это даже не самый придурочный баг а2003 и нашего проекта! Думаю, потом как нибудь, случайно окажется, что что-то, где-то, совсем не имеющее отношение к Аксесу, надо было перепатчить, заменить на горячую, и в полнолуние перегрузить три раза, но только в среду. :-)) Это что! :-) Вон у нас начальник админов в мыле - у него винда падает на какой-то элементарной фигне, Микрософт суппорт долго сопел в трубку, потом выдал - "Да, проблема в нашем продукте..." и повесил трубку! :-))) Он теперь орёт - и чего мне теперь, повеситься в туалете? Юмор и Бизнес... Ведущий рубрики Вильям Гейтс Третий! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 19:56 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
у него винда падает на какой-то элементарной фигне, Микрософт суппорт долго сопел в трубку, потом выдал - "Да, проблема в нашем продукте..." оффтоп если это элементарная операця, то почему она не встречается у многих? значит не все применяют это, (по своему незнанию, или не пониманию того с чем работают), поэтому и нет мелкомягких патча на ето. что у самого таких случаев мало? 99 юзеров работают и нормально, придет один дотошный/косолапый в такую позцию прогу поставит (по логике его должно быть лучше, и ,если подумать, он прав) но 99 серых юзеров и не думали что-то использовать лучше, и не выловили твой баг. в таких случаях мелкомягких ругать нада, чтоб форму не теряли, но и понимать их нада - все мы люди. плохо то, что персонал у нх носы слишком задрали... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 20:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Да безтолку их ругать. Где они, а где мы со своими проблемами. Монополия де факто, планетарного масштаба. А по поводу персонала, по моему это чисто российское явление. Кто из нас не сталкивался с неприятным поведением персонала, скажем в супермаркете?.. Да и не говорил я, что в суппорте МС носы задрали. Наоборот - всё очень корректно, 32 амерканских зуба! Просто - "зайдите как нибудь вчера..." во вполне вежливой, культурной форме. "Бэз прэтэнзий" (Золотой Телёнок). По форме - мёд, по сути - "пшёл нах..." просто вся их, кхм... заботливость... что ли... имеет вкус пластмассовой картошки с витрины... - Вы тонете? Ой, как жаль... Простите пожалуйста, мы не можем вам ничем помочь, потому что все менеджеры спасательных кругов заняты! Потому что у нас спасательные круги не той системы! У нас нет таких спасательных кругов! Может в Редмонде есть? Спасибо за звонок. Ту-ту-ту... З.Ы. Может я старомоден, но по мне лучше спец, который меня обложит, конечно, не без того, на руки кривые мне попеняет и т.п., но окажет мне реальную помощь, или попытается оказать, а не отделается вежливой отпиской. И в следующий раз я пойду к нему - ругай, руби, но помоги. А в "культурный офис" чего звонить-то? Лучше к психологу. З.З.Ы. "Элементарная фигня" - это фигура речи такая, цитата. Может там не так всё и элементарно. :-)) З.З.З.Ы. А вообще, на месте модераторов, я бы потёр нафиг весь этот мусор, который я тут развёл. Оффтоп злостный. В dev/null ! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 21:49 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ну всё стирать не нада тут есть чему поучиться, хотя бы подходам к решению глобальных проблем. тут ругань мягких хоть и звучит громко, но конструктивно. и видно что люди приложили ум чтоб разобраться, а уж потом шумят в 99% я встечался с теми кто знает меньше, а ругают мягких , так .... начнешь разбираться - оказываются комп не включили, на клаву журал положили..., а шуму, шуму навели... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2006, 23:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Если кому интересно... :-) Падения на откомментированном коде (чистый старт БД) при установленном пароле прекратились. Духи смилостивились. Шаманили по одному и тому же кругу - экспорт, паки, хотфиксы, референсы и т.п. Сами не поняли почему, проект стал загружаться (уже что-то). Может, в референсах собака... Но это ещё не всё. :-) Теперь падает при работе кода инициализации приложения. Т.е. не выбрасывает ошибку, если она вообще есть, (везде стоят обработчкики, а кто не может обработать самостоятельно - передаёт ошибку вверх по стеку вызова). Падение с выносом акса из процессов и письмом. (подозрение на хитропопо создаваемый экземпляр воркспейса, но это уже наши руки...) Т.е. пароль для клиента всё равно применить невозможно. Без пароля - всё как часы. На сегодня больше новостей нет. З.Ы. Тем кто читает этот тред и форум. Пожалуйста, учитывайте то, что форум, как правило, довольно кривое зеркало! Сюда люди не идут, когда всё работает или проблема в пределах досягаемости и опыта, знаний или ожидаемых реакций самой среды. Акс абсолютно нормальный инструмент! ПО сложное, многослойное, зависит от огромной кучи параметров и окружения. Да и где нет баг? И на солнце тоже есть баги. Да и с человеком - венцом творения, Господь тоже чего-то перемудрил, имхо... :-) Так что, делайте поправку на ветер! :-) Всем удачи и хороших проектов! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2006, 13:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторНо это ещё не всё. :-) Теперь падает при работе кода инициализации приложения. Т.е. не выбрасывает ошибку, если она вообще есть, (везде стоят обработчкики, а кто не может обработать самостоятельно - передаёт ошибку вверх по стеку вызова). Падение с выносом акса из процессов и письмом. (подозрение на хитропопо создаваемый экземпляр воркспейса, но это уже наши руки...) как раз именно сегодня морщил репу примерно на эту тему. сочинял текстовку то ли для фака, то ли еще для чего ненужного. что бы посоветовал: каленым железом выжечь все методы классов, не имеющие собственные обработчики ошибок. И в первую очередь методы, связанные с обработкой событий. Т.Е. под страхом смертной казни не допускать в классах методов, передающих ошибку вверх по стеку вызова. Посмотреть, что получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2006, 13:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый: "Т.Е. под страхом смертной казни не допускать в классах методов, передающих ошибку вверх по стеку вызова." Хм... Задумался... Почешем и тут. Только это так удобно - иногда трапать стандартной пр-рой на верхушке стека и раскручивать вниз. (~40%) Всё равно вход в метод класса не происходит извне без обработчика! Т.о. во всём проекте 3-4 стандартных ловушки + вкусности - ошибка в лог, ракрутили переменные в лог, т.е. на дебаг-режиме это просто песня... Сия фича уже не раз экономила нервы и время на реальной эксплуатации - от заказчика ни бе, ни ме не добьёшься. Отказ от такого подхода повлечёт увеличение объёма кода ~20% на пустом месте и усложнение сопровождения... Охо-хо... Вот и гадаю - как и рыбу съесть и на паровозе покататься. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2006, 15:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Прошу прощения за уточнение... Ну, чтобы была приблизительно ясна цена вопроса. Плюс ~20% это плюс ~7тыс.стр. кода. Для RAD объём чувствительный. А бюджет проекта уже ням-ням... :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2006, 15:49 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
вероятно я слишком эмоционально насчет "всех" методов класса высказался. попробую уточниться. Надо обратить специальное внимание на методы обработки событий вообще и на функции обработки события Terminate в особенности. 1) про ошибки в процедурах событий Пусть есть форма, в которой на кнопку повешен код Код: plaintext 1. 2. 3.
Код: plaintext 1. 2.
Пусть у вас есть стартовая функция StartFunction, которая запускается в макросе Autoexec Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Приблизительно с фразы автор"ошибки обработки событий локализуются в процедурах обработки событий. Такие ошибки не передаются в вызывающую функцию, в частности в Sub Main приложения". начинается всякая приличная книжка про VB. (Свое внимание я лишь недавно на это обратил) В Акцессе, в данном примере, если в процедуре обработки события открытия формы происходит (неперехваченная) ошибка, то информация об этой ошибке в любом случае не попадает в StartFunction. В mdb-проекте среда остановит выполнение на ошибочной строке, предлагая исправить или обойти ошибку. В mde-проекте такая ошибка просто "пропадет", возможно вызвав сброс переменных проекта. Но никакого перехвата в с возвратом в вызывающую функцию не будет. Мораль проста - потенциальные ошибки в процедурах обработки событий должны обрабатываться в самих процедурах обработки событий. Ответственность за такую процедуру без обработчика ошибок - на разработчике. Есть еще один специальный случай - ошибки в специальных событиях класса - Initialize и Terminate Пусть есть в стандартном модуле Код: plaintext 1. 2. 3. 4. 5. 6. 7.
пусть есть Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
NormalProc - процедура в классе CMyClass - обычный метод, в которой не возникает ошибки. MyObject.MyErrorProc - процедура в классе CMyClass (обычный метод), в которой возникает ошибка. Привозникновении ошибки во второй процедуре, при выходе за ее границы экземпляр CMyClass подвергентся процедуре уничтожения. Если в классе есть функция обработки события Terminate (Private Sub Class_Terminate() ), то она будет вызвана. Если в этой функции нет источника для возникновения собственной ошибки, то информация об ошибке, возникшей в normalProc или, если код, как показано, закомментирован - в строке Err.Raise передается в обработчик, установленный в FirstSub. Если же в Class_Terminate возникает собственная ошибка, то возникает специальная ситуация, когда вновь возникшая ошибка скрывает информацию о предыдущей ошибке. Про классический VB пиишут, что он вообще не переживает именно такую ситуацию с ошибкой в Class_Terminate, и (компилированный) проект в таком месте просто падает. (Возможно это сервиспакозависимо - не проверял). В моих экспериментах - Акцесс не падает - в мдб среда останавливается на сбойной строке (Проект переводится при этом в состояние невозможности сохранения изменений). В mde - возникает окно сообщения о сбое в работе макроса, но краха акцесса не происходит. (проверял в 2002м) В любом случае на это место нужно обратить внимание, особенно если - класс содержится в библиотечном проекте или - в классе присутствуют "внешние" члены - типа рекордсетов и т.п. Возможно в сложных проектах это может быть одной из причин падений. --------------------------------------------- Еще один момент. С обработкой ошибок не связанный. Для 97го акцесса существовала техника "предварительной загрузки модулей", когда в стартовой процедуре дергались публичные константы модуля. с целью его принудительной загрузки и исключения задержки при первом обращении к функциям модуля. Для последующих версий оно вроде как не актуально. Но среди прочего, не понимая куда двигаться, может быть я и за эту нитку дернул бы... ----------------------------------------------- кроме того, хорошо бы изолировать багосбойные места типа - перевода составной формы из иконизированного состояния в развернутое - перехода формы в принт-превью и назад (результат - сброс объекта формы с потерей состояния самописных членов класса) - обрашение к вложенной подчиненной в табличном виде до е первого разворота (и т.п.) ----------------------------------------------- Удачи. ЗЫ Если что-то надыбается пригодное к рассказу - послушал бы с удовольствием и благодарностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2006, 19:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый: Ух! Целая лекция! :-) Пошёл предметный разговор! По сути вопроса. Ситуаций, как "ошибки обработки событий локализуются в процедурах обработки событий. Такие ошибки не передаются в вызывающую функцию, в частности в Sub Main приложения" у нас нет принципиально. Т.е. ошибки обработчиков _событий_ по стеку не передаются. Есть работа с евентами нестандартных АктивИксов, проверим и их, может проморгали чего... Но тут может сработать закон подлости - на реальном проекте очень сложно что либо откручивать - замучаешься, не факт что прикрутишь назад, БагТрек и так не простаивает, а на тестовых примерах всё может работать без запинки. "- в классе присутствуют "внешние" члены - типа рекордсетов и т.п." Присутствуют, заразы, и в большом количестве. Поскольку, просто само просится обернуть конкретную запись в экземпляр класса (да ещё и не один - вложенный по принципу матрёшки), в динамическом рекордсете, со своими методами - исполнение кода методов выходит в стандартные модули, используя общие пр-ры, возвращается обратно, опять выходит - большая вложенность. Городить массивы и коллекции на этом непрактично. Именно эти возможности и есть - гимн Аксесу, за них его и люблю! Но много мин... впрочем, я уже как-то это писал. В Class_ Initialize и Terminate в основном работают только счётчики объектов и освобождение ссылок на внутренние рекордсеты (!). Проверим. Но там есть одна хитрость... Фактически, инициализация класса происходит в специальном методе, встроенные недолюбливаю, бывают странности - "то возникает специальная ситуация, когда вновь возникшая ошибка скрывает информацию о предыдущей ошибке" - а вот над этим вообще задумался... "При возникновении ошибки во второй процедуре, при выходе за ее границы экземпляр CMyClass подвергентся процедуре уничтожения." А вот это уже теплее - может падения Акса на объектах вызвано тем, что когда фактически рекурсия должна возвратиться в объект, объект уже сброшен или потерян Аксом, в результате какой-то нештатной ситуации. Т.е. вероятно Аксесовский интерпретатор просто передаёт управление на произвольный кусок памяти с мусором. (опять же это уже зона компетенции разработчиков Акса). Собственно, обьясню, что я имел ввиду под обработкой ошибок в своём предыдущем посте. Извините, буду писать схематично, без деталей реализации. 1-я Ситуёвина. Классическая, академическая, в любом учебнике и екзамплах от МС. Я её описывать не буду - каждая пр-ра или ф-ция имеет свой обработчик, кучу строк кода, прямую реакцию на ошибку и т.п. Этот подход неудобен в реальных проектах, из-за большого кол-ва однотипного кода, копи-пасты, невозможностью повторного использования, рефакторинга и т.п. (много причин). 2-я Ситуёвина. Уже лучше. Применяется в реальной работе, в пр-рах, у которых обязаны быть явные обработчики. Но без недостатка 1-го метода. Function BlaBla (...) As Long On Error Goto err_no: ... err_no: Exit Sub '- штатный выход err_yes: Sys_ErrorHandlerA(ByRef BlaBla As Long, ...) 'стандартный обработчик ошибок проекта, тип А ... End Sub В данном случае ошибки перехватываются накоплением, но обработка и реакция, а так-же логирование и т.п., а так-же принятие решения переносится в стандартные трапы уровня проекта - и уже там ракручиваем стек. Именно таким методом у нас обрабатывается до 80% ошибок. Ситуация может усугибиться большой вложенностью, выходом из VBA в API, но штатно вызывающая пр-ра ВСЕГДА обязана передавать вверх, вместе с результатами своей работы и контрольные точки - номера ошибок или флаги FL_STOP, FL_TRAP, FL_ABORT... Это позволяет вызывающим пр-рам однозначно обрабатывать ситуацию. 3-я Ситуёвина. Вот как раз она вызывает у меня сомнения, но приносит реальную пользу в проекте, например, избавляя от обработки достаточно большого кол-ва тривиальных ситуаций, не требующих изощрённого траха. Function BlaBla (...) as Long On Error Goto err_no: ... ExampleClass.Go '- метод класса, не имеющий обработчика ExampleClass.End '- тоже ... err_no: Exit Sub '- штатный выход err_yes: BlaBla = Sys_ErrorHandlerB(...) 'стандартный обработчик ошибок проекта, тип B ... End Sub В этом случае ошибка внутри метода экземпляра класса, теоретически и практически (99%) возвращает ошибку внутрь вызывавшей пр-ры - и опять уходит на обработку в другую пр-ру, которая, блин, тоже может содержать свой обработчик. Сложнее с ситуациями, когда внутри метода класса код уходит в модули, вызывая стандартные методы, которые в свою очередь имеют глобальные обработчики, и в свою очередь могут вызывать методы классов, которые не имеют обработчиков, а могут возвратить ошибку в вызывающую и... см. мочало с начала... Т.е. вот тут-то и могут возникать штопорные рекурсии системных ловушек Sys_ErrorHandlerB, довольно муторные в отслеживании и понимании - и это главный недостаток такого подхода. Уф... утомился... :-) К сожалению всё выше описанное к трабле с паролем имхо не имеет отношения, поскольку пр-ры инициализации входят в тот %% пр-р, имеющих собственные и безусловные перехваты ошибок. Вот в них-то как раз и загадка. Вместо выброса ошибки Аксес падает. :-( Локализуем. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2006, 22:18 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 ТеньОтцаГамлета про процедуры обработки событий я не пытался "развести чужую беду руками". с одной стороны, это была реакция на Вашу фразу авторТеперь падает при работе кода инициализации приложения. Т.е. не выбрасывает ошибку, если она вообще есть, (везде стоят обработчкики, а кто не может обработать самостоятельно - передаёт ошибку вверх по стеку вызова). Передача "вверх по стеку" для обработчиков событий неприменима - них в некотором смысле - "нет верха". Это функции косвенного вызова по существу. Источники (точки) вызова при этом находятся за пределами вба-кода. с другой - я так или иначе собирался это куда-то "слить" по случаю. практически - удачный повод для "высказаться" получился. Есть надежда, что этот текст все-равно для кого-нибудь будет полезен. В книжках "акцесс за 5 секунд" об этом вряд ли напишут. Вопросов на эту тему нет. (Иногда вопросов нет потому, что человек не знает, о чем именно он должен спросить и какими словами. ) в целом - сорри за оффтоп. по содержанию последнего вашего поста - Если вы раскручиваете стек через самописный связный список-стек, то и информация о текущей ошибке внятно привязывается к каждому текущему входу стека любым удобным образом. Если вы как-то иначе раскручиваете стек вызовов, и это не военная тайна, и нет внутреннего сопротивления - может поделитесь в отдельном топике (я и вопрос могу задать по такому случаю - как, мол, мне до стека добраться настоящего, без прикручивания рядом своего ? :)) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2006, 23:37 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
типа уточнение: Источники (точки) вызова при этом как правило находятся за пределами вба-кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2006, 23:40 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 глупыйглупый: "Есть надежда, что этот текст все-равно для кого-нибудь будет полезен." Реально полезен! :-) Не сомневайтесь! "Если вы раскручиваете стек через самописный связный список-стек, то и информация о текущей ошибке внятно привязывается к каждому текущему входу стека любым удобным образом" Именно, путь наименьшего сопротивления и наибольшего удобства. "может поделитесь в отдельном топике" Увы мне... Совсем нет времени писать, просто не до этого. Я больше читаю и больше по конкретным своим вопросам. А ору в форум тогда, когда уже прищимило и опухло! :-) "Источники (точки) вызова при этом как правило находятся за пределами вба-кода" Да можно ловить и там (да пребудет с вами СИла и API, или что-либо другое, имеющее на борту адресную арифметику)... Вопрос - зачем и кого тут хотеть перемудрить? MZ-Tools, например, имхо, именно так и поступает. Но вот код проекта Аксеса (не дай бог ещё и компилируемый налету) это такой фарш из нативного кода ОС, среды, Джета, интерпретатора байт кода и т.п... там жизни не хватит разобраться. Но вообще-то, я лично, изначально, против таких методов - теряется цельность (красота что ли) пректа и в некоторых местах он становится похож на бред параноика... :-( Смешивать тёплое с квадратным - плюсы от таких подходов могут потеряться среди минусов. Если мне, как прикладнику, не дали в ВБА явно оперировать указателями и участками памяти (хитровыверты не в счёт), то это "жжж" неспроста!.. Всё имхо, ессно. :-) Удачи. Спасибо за участие. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2006, 10:38 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
up (по запросам трудящих) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2006, 11:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
вот я собрал описание глюка. компоненты: access 2003 sp2(rus), winxp sp2(eng) , 3dplanesoft screensaver(lostwtach) какую нибудь форму с пустым источником данных делаем в adp проекте. на открытие вешаем код, который к рекордсету формы присваивает рекордсет(локальная переменная) полученный на базе adodb.command. после этого присвоения можно проверить recordsource у этой формы, и он будет выглядить типа {?= sptest (?,?) } потом ставим запуск скринсейвера на 1 минуту и ждем... дождались запуска, двигаем мышкой , кликаем в логин, входим в сеанс и получаем ошибку....типа "select * from {?= sptest (?,?) } такого источника нету".... если, не получиться сделать так, то просто надо взять подчиненную форму. еще особенность. можно сделать это с листбоксом. тада access при входе в сеанс после скринсейвера перезапросит его источник данных и слетит выбранный элемент. глюк токо с 3dplanesoft screensaver (скринсейвер такой) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2006, 18:23 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
этот пост лучше бы назвать "глюки акцесс". не знаю ни "как попал", ни "как выбрался". Но на прошлой неделе день был целиком потерян. "Вдруг" (последовательность событий не отследил) стал глючить проект в одном из мдбюков в коде класса. код в классе примерно такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Глюк проявился в том, что при прохожденнии кода отладчиком после выполнения строки lngVar=lngVar+1 значение lngVar отставалось равным нулю, а значение aR(lngVar) оставалось присвоенным внутри процедуры и сразу терялось по завершении процедуры. Последующее обращение к массиву в другом методе дает ошибку выхода за границы диапазона, а сам массив пустой. как будто его не заполняли. При этом код вида lngVar=125 (конкретное значение) вполне нормально выполнялся. в стандартых модулях - "все нормально". Глюк касался конкретного проекта. В других "все путем". Намучился я с этим до потери пульса. Как только ни тряс бубном. и декомпайл тебе, и переменные местами поменять, и компилировать и сохранить, выйти и войти. Экспорт модуля, удаление, импорт из текстового файла. - Ноль эмоций. Перезапуск кампутера - ничего конечно не дал. Оно вроде дешевле в новый проект все импортировать. Но так задрало, что бился головой в эту стену до конечного одурения. В какойто момент заметил, что при если держать мышиный курсор на "больной" строке, то, при подадании маркера позиции исполнения на эту строку видно, что значение присваивается и тут же теряется. чума. решил - щаз покурю и "разберу халабуду вдребезги...". Что я сделал после покурить - я не запомнил. Какая-то очередная комбинация на тему сжать, выйти и войти, компилировать и сохранить. После чего просто нажал F5 и оно сработало. Проект "вылечился". Не хотел писать, потому что не знаю, как стабильно воспроизвести такую ситуацию. Как и не запомнил/не понял "лечащую" комбинацию. Потом подумал - кажется, сам я все-таки наверно больше одного раза в такое попадал. Может все-таки кто-нибудь скажет - "что это было", и как же с ним грамотно бороться. акцесс 2002 сп3 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 04:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 Victosha: Эпиграф: "Есть многое на свете, друг Горацио, что без пол-литры, хых, не разобрать..." (с) Кажется, С.Есенин. Лирика: Коллега, выпейте чаю с мёдом и сушками... :-) Отстранитесь на денёк от этой работы. Отдохните. Потом свежим взглядом в бой. По сути вопроса: Я вас понимаю... :-) Код очевидный до простоты. Глюк... Нда-с... Можно много чего гадать, всё равно кроме вас никто вердикт не вынесет, проект-то ваш и вам там всё виднее. К сожалению, чем больше и сложнее проект на Аксе, тем чаще проявляются "духи тундры". У любого аксессиста с опытом целый ворох таких историй. ПО сложное, многослойное, и понять кто там где (а главное - почему) глючит порою очень сложно. Как лечить такие глюки я и сам не знаю. Знаю только по личному опыту, что они имеют свойство накапливаться и жутко выбивают из рабочей колеи. И, кстати, потом как-то тихо сами собою сходят на нет, рассасываются... В общем - "верь, бойся, проси". Гадание на: 1. Евенты для объекта содержащего данный код есть? Нет ли в них терминейта данного объекта? 2. Нет ли во время работы висящих классов таймеров (опять таки с кодом терминейта или работающе с данной переменной?) 3. Есть ли хитрый ватч экспершын? Или алиасы локальных переменных... Условная компилейшын? Чёрт знает... 33... (33 дурацких пункта прямого к делу отношения не имеющие) А вот тут случай был: А у меня редактор кода Акса стал самопроизвольно брать на себя фокус! Почувствуйте хохму! Сидите вы, скажем в аське, достаёте коллегу вопросами, поднимаете глаза - опа - а уже фигачите в редакторе кода... Отличная шутка от индийских программистов! Причём, целый день может быть тихо, потом опять... (в этот момент исполняется код и я грешу на классы таймеров, поднятые в пректе для евентов, видать его исполнение поднимает окно, хотя брекпоинтов нет... но всё равно такое чудо) З.Ы. Искренне сочувствую. Бывает. :-) З.Ы.Ы. Просто поддержал, типа, морально. Всё равно импортируйте в новый проект весь код и проведите дефрагментацию и чистку всего рабочего компа. И реестра тоже. От греха... (тьфу 3 раза, по дереву, с левой ноги, и т.п. см. сборник народных рецептов) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 09:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Я не знаю, что конкретно было и как конкретно с этим бороться. Но повреждения компилированного VBA кода, увы, встречаются очень часто. И проявления этого бывают разные. Какое-то время назад я создал ярлык, запускающий Access с /Decompile. И очень активно им пользуюсь. Считаю, что это хорошо помогает избавиться от подобных проблем. ЗЫ Извините, если я ответил не в тему. Еще не проснулся :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 09:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 Serge Gavrilov: Дык в том-то и беда, что не всегда декомпил форева! :-( Не думаю, что автор Victosha не знает об этом ключе. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 10:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Victoshaзначение lngVar отставалось равным нулю, а значение aR(lngVar) оставалось присвоенным внутри процедуры и сразу терялось по завершении процедуры. Симптомы (почти) такие, как будто эти две переменных описаны дважды - один раз внутри процедуры и один раз вне. Тогда внутри процедуры происходят нужные действия с локальными переменными, а при выходе становятся видны внешние, у которых ничего не изменилось. Victoshaи переменные местами поменять Интересно, пробовал ли ты добавить в явном виде описание локальных переменных в процедуре, которое Аксессу примерещилось, а потом его убрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 10:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ТеньОтцаГамлета2 Serge Gavrilov: ... Не думаю, что автор Victosha не знает об этом ключе. Я и не подразумевал это. Я сказал лишь о том, что при написании кода я запускаю Access практически только с этим ключем. А не тогда, когда уже может и поздно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 10:48 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 Serge Gavrilov: >Я и не подразумевал это. А я и не подразумевал, что вы подразумевали... :-)) Не хотел задеть, извините. >Access практически только с этим ключем. Да я делаю почти так-же. Только реже - в конце дня сбрасываю последнюю сборку, перед копией в архив. И каждый раз думаю о том, что ДЕКОМПИЛ - деструктивный, недокументированный метод. Тот же Гетц, околомайкрософтовские гуру на забугорных форумах по Аксу, всегда ПРЕДУПРЕЖДАЮТ о том, что часто им пользоваться чревато... (тут невнятное бормотанине на 3 страницы)... Но я понимаю, что это - край, экстремальная медицина. Глубокий офф-топ, рекурсивный: Вот интересно, а если со следующим сервис-паком Акса, ключ /DECOMPILE без явного указания параметров -rX%123-CDE и -rY%DASF-OBANA будет просто форматировать винт программисту? :-)) Ну им ваапще удобно так, в микрософте... 2 Victosha: А это мысль - попробвать совсем другие имена переменных и массива. Вдруг интерпретатору они не нравятся, по религиозным мотивам, всякое бывает... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 11:11 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ТеньОтцаГамлета2 Serge Gavrilov: >Я и не подразумевал это. А я и не подразумевал, что вы подразумевали... :-)) Не хотел задеть, извините. Да вы меня и не задели, вам показалось :-) ТеньОтцаГамлета... И каждый раз думаю о том, что ДЕКОМПИЛ - деструктивный, недокументированный метод. Тот же Гетц, околомайкрософтовские гуру на забугорных форумах по Аксу, всегда ПРЕДУПРЕЖДАЮТ о том, что часто им пользоваться чревато... (тут невнятное бормотанине на 3 страницы)... "Я не знаю, как там в Лондоне, я не была, может у них и собака друг человека, а у нас УПРАВДОМ друг человека" (с) "Бриллиантовая рука" Не думаю, что запуск с decompile опаснее, чем просто запуск Access По крайней мере по моему опыту, а он не очень маленький. Происходит удаление записей с компилированным кодом из таблицы MSysAccessStorage (для формата 2002) Многие стандартные действия зачастую оказываются гораздо опаснее недокументированных фичей. ТеньОтцаГамлета ... Вот интересно, а если со следующим сервис-паком Акса, ключ /DECOMPILE без явного указания параметров -rX%123-CDE и -rY%DASF-OBANA будет просто форматировать винт программисту? :-)) Ну им ваапще удобно так, в микрософте... буду явно указывать параметры, если еще буду работать с Access ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 12:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
2 Serge Gavrilov: Лично у меня с декомпилом тоже пока не было никаких проблем (тьфу 3 раза... и всё такое). Однако, "ложки-то нашлись, но осадок остался" :-)) >Многие стандартные действия зачастую оказываются... "Это точно..." (с) Красноармеец т.Сухов. 2 Victosha: У меня был очень похожий глюк с глобальной переменной, ещё на А97 до SR2, году эдак в 98-м... Компилятор ругался на явно описанную переменную. Тоже не понял почему. Тоже бубен по кругу... Вылечил как? Обхохочитесь. Просто строчку с объявлением написал на одну строчку ниже! Заработало! Возвращаю на прежнее место - еггог в коде, переменная не обьявлена. Закомментил эту строчку русскими идиоматическими выражениями. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 12:50 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторПросто строчку с объявлением написал на одну строчку ниже! это мы не раз проходили. как раз с 97го живой иногда бубун. и на 2000м живой. на 2002м вроде не приходилось так сильно руками махать. строчка ниже - очень сильно раздражает. Понятный смысл - вызвать декомпиляцию модуля. Но для этого и просто пробел поставить должно быть достаточно. Однако - пожалте строчкой ниже, выше или вообще добавить пустую переменную, ни для чего не нужную. Это плохо. Это может и не "баги акцесс". Но отсутсвтие внятно документированного описания поведения проекта. Это раздражает. Недавно натыкался где-то на информацию о том, что неправильная последовательность действий после /decompile может приводить проект в очумение. чего-там там сразу после декомпайл делать не рекомендуется. то-ли сжимать, то-ли копмилировать-сжимать. надо раздельно сделал одно. вышел-вошел, сделал другое. Это, кажется, связано с еще и с переносом прокта из старшей версии (2003) в младшую (2000). 2003й сохраняет в проекте ссылку на свою библиотеку типов, с которой 2000й обойтись не может. надо типа на 2000м тот самый декомпайл и волшебную последовательность. то-ли это статья на support.microsoft, то ли где-то в типах у кого-то. думал запомню. а сейчас найти не могу. Кстати, фенечку про запуск пустого акцесса с опцией декомпайл я у Serge Gavrilov приметил. он относительно недавно в каком-то топике об этом говорил. Мне понравилось - удобная штука. я себе тоже такой ярлык завел. Спасибо. Еще один для меня рядом лежащий для вопрос - переход mdb проекта в состояние "контроля доступа". при программной работе с экзеплярами форм/отчетов и их свойствами. Когда-то даже попадалось описание набора набора свойств формы, изменение которых должно к этому вести. Опять же - не сохранилось, а строить серию экспериментов я уже точно сил не найду. Впрочем, в условиях - "каждому по экземпляру интерфейса" - оно вроде только теоретический интерес. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2006, 15:55 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
При печати формы, основанной на сохраненном запросе с опцией WITH OWNERACCESS OPTION;, методом PrintOut для формирования данных в поле печати требуется наличие прав на чтение для базовых таблиц запроса. обсуждение здесь http://www.sql.ru/forum/actualthread.aspx?tid=273355 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2006, 18:19 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
это сохраненная процедура для имитации глюка(она может быть любая. принцип в том , что для получение набора данных должна испо-я процедура) также приложен adp проект. все сделано на базе pubs. нужно открыть форма1 свернуть ее, развернуть ее. и получим косяк.который никак не отловишь. а как обойти тоже идей нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2006, 13:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Косяк, подчиненные формы и таб бар. обсуждения косяка постом выше по этой ссылке. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2006, 13:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ALTER COLUMN если поле NOT NULL запрос Код: plaintext
но если поле NULL то запрос Код: plaintext
Кто нить знает как побороть(DDL) не пересоздавая таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2006, 22:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
RoloTomasiALTER COLUMN если поле NOT NULL запрос Код: plaintext
но если поле NULL то запрос Код: plaintext
Кто нить знает как побороть(DDL) не пересоздавая таблицу? Вы не перепутали? У меня результат противоположен вашему (Access 2002, mdb). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2006, 00:13 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge Gavrilov Вы не перепутали? У меня результат противоположен вашему (Access 2002, mdb).+1 (2000, mdb) (NOT NULL работает, NULL - нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2006, 11:11 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge GavrilovВы не перепутали? У меня результат противоположен вашему (Access 2002, mdb). Так и есть Исправленая версия ALTER COLUMN если поле NULL запрос Код: plaintext
но если поле NOT NULL, то запрос Код: plaintext
Т.е. NULL->NOT NULL работает а обратно нет. Кто нить знает как побороть(DDL) не пересоздавая таблицу? Пока только -создание временого(идентичного нужног поля) -перенос данных из переопределяемого -переименование временого и удаление старого -ну и манипуляции с констрейнтами. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2006, 11:53 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
забавная бага 97 аксесса 1. есть запрос (табличек 5-7, да плюс один сохраненный запрос, усе провязаныя INNER джойнами). 2. получен преобразованием базы пердыдущей версии, не правился (руками). 3. возвращает некоторое количество данных (при открытой соотвествующей форме - т.е. заданных значениях параметров). 4. Заменяем одну из связей на LEFT джойн - записи не возвращаются. 5. даже не заменяя - копирую текст в пустой бланк - записи не возвращаются (начинаю вспоминать про "фичи" типа х-прод-джойна, и тихо сходить с ума) 6. тады просто шевелю одну связь в конструкторе мышом, ничего больше не меняя - записи перестают возвращаться. 7. на нн-ые сутки замечаю, что связь между двумя табличками (вернее - 2-мя экземплярами одной таблички) и в конструкторе и в тексте не та, которая должна быть, т.е. не та, "которая возвращает записи". (а зеркальная - там типо дерево). (и, собсно, не та, что осталась в предыдущей версии). Получаица, что если не трогать "неправильно" сохраненный по какой-то причине запрос, он выполняется "правильно". как аксесс умудрился перевернуть связь в тексте (бланке) запроса, при этом сохранив где-то унутре праильный "откомпилированный запрос", который видимо и выполнялся, пока его не потревожишь руками - непнятна. такие дела. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2006, 15:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Если в модуле класса объявлена переменная c withevents и строка с объявлением переменной находится в блоке условной компиляции, то такой проект нельзя декомпилировать - Access валится. Обнаружено на Access 2002. Пример приложен. зы Под декомпиляцией понимается открытие базы в ms access, запущенного с параметром /decompile ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2007, 21:02 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge GavrilovЕсли в модуле класса объявлена переменная c withevents и строка с объявлением переменной находится в блоке условной компиляции, то такой проект нельзя декомпилировать - Access валится. Обнаружено на Access 2002. Пример приложен. зы Под декомпиляцией понимается открытие базы в ms access, запущенного с параметром /decompile нашел обсуждение 2003 года. http://groups.google.ru/group/comp.databases.ms-access/browse_thread/thread/a158f90d3308237b/a6b8654fafa52993%23a6b8654fafa52993 там говорится, что для краха достаточно иметь просто объявление константы условной компиляции в одном модуле с объявленной переменной с событиями. #Const a = 1 Private WithEvents b as TextBox (проверил в а2002 - падает при при декомпиляции) упоминается и вышеописанная проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2007, 02:23 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Victoshaнашел обсуждение 2003 года. http://groups.google.ru/group/comp.databases.ms-access/browse_thread/thread/a158f90d3308237b/a6b8654fafa52993%23a6b8654fafa52993 там говорится, что для краха достаточно иметь просто объявление константы условной компиляции в одном модуле с объявленной переменной с событиями. #Const a = 1 Private WithEvents b as TextBox (проверил в а2002 - падает при при декомпиляции) упоминается и вышеописанная проблема. Я достаточно долго искал причину в большом проекте. :-( Интересно что, если в модуле с withevents в другом месте используются блоки условной компиляции, то декомпиляция проходит без проблем. Access 2003 SP2 тоже валится, но тихо, по английски. Исправлять баги ms не спешит и теперь уже данный баг вряд ли поправит. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2007, 11:49 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Victoshaнашел обсуждение 2003 года. Спасибо. Непонятно почему Peter Miller утверждает, что Peter Miller - Access XP doesn't have this problem, nor does Access 97. Может он хотел сказать, что нет проблемы в БД формата 2002. Надо будет проверить. Далее Peter Miller пишет: Peter MillerThe situation you describe is essentially the same situation. The problem depends upon the presence of both (a) condition compilation arguments and (b) an object variable declaration using withevents. Your example includes the object variable declaration within the conditional variable if-then statement, but if you shift the declaration of frm outside the if-then statement, you'll see the decompile crash still occurs... Это не совсем так (а может я неправильно понял). Крэш произойдет в том случае, если блок условной компиляции тоже находится в разделе описаний модуля. Если же этот блок находится в другом месте, то это не приведет к крэшу. Например такой код будет нормально декомпилироваться: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2007, 12:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
авторМожет он хотел сказать, что нет проблемы в БД формата 2002. Надо будет проверить. это я проверил первым делом. проблема есть. формат дела не меняет. единственный вариант, когда "проблемы нет" - это когда константа условной компиляции заявляется не в модуле, а в свойствах (параметрах запуска) vba-проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2007, 15:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Мшсещырф авторМожет он хотел сказать, что нет проблемы в БД формата 2002. Надо будет проверить. это я проверил первым делом. проблема есть. формат дела не меняет. Спасибо, я так и предполагал, было бы странно, если бы менял. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2007, 15:53 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access 2007 Код: plaintext
Если SourceFile имеет формат 2002-2003 (acFileFormatAccess2002), то ошибка 3078: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2007, 19:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Баг - не баг, просто наблюдение: Файл проекта ADP с установленной опцией сжимать перед закрытием совершенно не сжимается в ACCESS 2003 и жмется как милый при открытии в ACCESS XP ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2007, 10:32 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Сегодня снова наткнулся на баг, который был еще черт знает когда и даже в 2003 не исправлен. Вот код, который надо написать в отчете: Код: 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.
И при этом оказывается, что intRightMargin соответствует не правому полю, а верхнему. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2007, 13:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
хочу упомянуть об ошибках при сохранении форм в *.adp. встречал два типа ошибок. 1. Форма сохранена в неверном формате 2. Недостаточно памяти для открытия При обоих ошибках форме приходит ПОЛНЫЙ трендец..ни дикомпиляция,ю ни перенос формы в другой рпоект..вобще ничег оне помогает..форму можно смело удалять. это проявляется достаточно регулярно в 2003 аксе хотя работая в 2007 тьфу тьфу такого не наблюдал пока.. бум надеятся что в SP3 для 2003 офиса это исправили, хотя сильно сомневаюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2007, 06:12 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Баг? Если в главной форме выбрать несколько записей, то обращение к свойству Form контрола подчиненной формы вызывает ошибку. Пример прилагается. 1. На форме Suppliers щелкнуть по области выделения записи (или меню Edit - Select Record). 2. Нажать клавишу Shift и кликнуть несколько раз по стрелке влево (выбрать записи). 3. Нажать кнопку Ошибка 2455 "You entered an expression that has an invalid reference to the property Form/Report." ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 21:58 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge GavrilovБаг? Если в главной форме выбрать несколько записей, то обращение к свойству Form контрола подчиненной формы вызывает ошибку. Пример прилагается. 1. На форме Suppliers щелкнуть по области выделения записи (или меню Edit - Select Record). 2. Нажать клавишу Shift и кликнуть несколько раз по стрелке влево (выбрать записи). 3. Нажать кнопку Ошибка 2455 "You entered an expression that has an invalid reference to the property Form/Report." Нет ошибки. В 2003 нет и в 2007 нет. Все по рецепту, но не вышло. Мессаджбокс выскакивает и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access XP (без SP) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_worldНет ошибки. В 2003 нет и в 2007 нет. Все по рецепту, но не вышло. Мессаджбокс выскакивает и все. Я баг репорт получил от пользователя в другой стране. Проверил у себя на нескольких компах и разных Access (2002,2003). Эффект есть. Вы shift когда отпустили? После того как выбрали записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Выбирал и мышкой и с шифтом. Шифт отпускаю после выбора. Ради эксперимента и кнопку нажимал с шифтом. И в каждой записи по отдельности нажимал шифт. Не могу выйти на описаный эффект. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:41 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
А у меня вообще странно... В подчиненной форме вместо букв какая-то абракадабра... Или, кажется, какой-то из арт-шрифтов из моей системы... Попробовала изменить шрифт - никакого эффекта... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Стоп. Я кажется понял. Вы предлагали выбрать в главной форме, а я выбирал в субформе. Если в главной, то ошибка выходит. Точно по описанному сценарию. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Баг пропадает если форму вынести из области данных :/ в заголовок формы например :/ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
KrukVNБаг пропадает если форму вынести из области данных :/ в заголовок формы например :/ спасибо, интересно... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:50 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Да... кроме того, ошибка выскакивает... (А2003) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:51 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
И еще. Если форму с подчиненной в области данных попытаться вывести в ленточном режиме, то microsoft вываливает мессагу как на картинке а если подчиненная находится в заголовке например, то все окк. т.е. вероятно такое поведение следует рассматривать не как баг, а как ограничение. так наверное ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 22:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge GavrilovБаг? ... Ошибка 2455 "You entered an expression that has an invalid reference to the property Form/Report." еще одно наблюдение. в момент воспроизведения ошибки методы объекта Screen - ActiveForm и ActiveControl дают ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2008, 23:21 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
еще можно попробовать снимать выделение переводом фокуса в одно из полей, логика понятна, вы выделяете шифтом несколько записей в главной форме через шифт, а затем пытаетесь открыть форму месаджбокс с именем формы продуктов, собственно для него не понятно про какое имя идет реч, из первой выделеной записи или из второй. короче даже не ограничение а нарушение логики работы акса ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2008, 04:38 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
xbzеще можно попробовать снимать выделение переводом фокуса в одно из полей, логика понятна, вы выделяете шифтом несколько записей в главной форме через шифт, а затем пытаетесь открыть форму месаджбокс с именем формы продуктов, собственно для него не понятно про какое имя идет реч, из первой выделеной записи или из второй. короче даже не ограничение а нарушение логики работы акса не вижу никакого нарушения логики работы. Если же следовать вашей логике, то Access вообще при этом не должен показывать никаких значений в полях подчиненной формы. Но он их показывает. К тому же все нормально работает, если подчиненная форма находится, например, в заголовке главной формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2008, 10:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Баг? А2003 SP2 Долго и кропотливо делаешь Union-запрос, без сохранения выводишь в режим таблицы, потов в режим предварительного просмотра...Потом случайно нажимаешь Вид->Конструкор (Вид->SQL при этом недоступен!) ... и получаешь пустой бланк запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 16:48 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Guest33Баг? А2003 SP2 Долго и кропотливо делаешь Union-запрос, без сохранения выводишь в режим таблицы, потов в режим предварительного просмотра...Потом случайно нажимаешь Вид->Конструкор (Вид->SQL при этом недоступен!) ... и получаешь пустой бланк запроса. У запроса нет режима предварительного просмотра. Такое есть у отчета и у страницы доступа к данным. Запрос с Union никакими силами, по крайней мере в аксе 2003, не перевести в конструктор. Только скл-представление, конструктор не поддерживает объединение Непонятно, о чем речь вообще? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 18:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
MDS-World! А Вы попробуйте! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 22:16 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 22:52 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Сначала предварительный просмотр, см. внимательно картинку 1, там запрос в режиме Previw ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 23:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Guest33Сначала предварительный просмотр, см. внимательно картинку 1, там запрос в режиме Previw Не получается! Выходит на SQL. И никак его по-другому не заставить. Хотя, действительно, активна только кнопка Конструктор. И понятно почему - это же фактически отчет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 23:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вам повезло, а у меня получилось сегодня на работе и уже дома, когда показывал картинки... (A2003 11.6566.6568 SP2) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 23:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Описание проблемы: Acc XP, 2003; ADP, SQL-2005. Имеется форма (справочник не-важно-чего). Ходим по табличной части (ленточная подформа), под которой лежит набор вкладок, на одной из которых находится подформа для редактирования одной записи справочника (обновляется по Form_Current ленточной формы). В подформе одной записи в дизайнере установлено AllowAdditions = False, однако после обновления выборки (а она делается изменением рекордсета этой формы, так, как показано ниже), AllowAdditions слетает, т.е. подформу можно колесом мыши поставить на добавляемую запись и попытаться там что-то ввести. Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Как видно из кода, баг обходится легко (просто возвращением на место значения AllowAdditions), так что этот пост - просто для информации форумчанам-коллегам. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2009, 11:04 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access 2007 CurrentObjectType возвращает -1 в случае, если в панели навигации выбрать прилинкованную MS SQL таблицу. Если таблицу открыть, то возвращает правильное значение 0. В 2003 все было нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 14:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Может и боян, но я не нашел думаю скорее фитча чем баг Office XP SP3 На формах используются элементы управления на разные события которых "повешаны" самописные Public функции. В конструкторе формы данное выражение выглядит так: =fncProstoMoyaFunction(1;2;3) То есть символами разделителями араметров(аргументов) для конструктора является ";" После редактировании функции в стандартных модулях(!!!), а именно - добавления нового параметра - fncProstoMoyaFunction(Param1,Param2,Param3,Param4), при открытии формы в режиме конструктора вызов данной функции меняется с =fncProstoMoyaFunction(1;2;3) на =fncProstoMoyaFunction(1,2,3). Если много параметров - очень неудобно перебивать "," на ";"! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 15:35 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge GavrilovAccess 2007 CurrentObjectType возвращает -1 в случае, если в панели навигации выбрать прилинкованную MS SQL таблицу. Если таблицу открыть, то возвращает правильное значение 0. В 2003 все было нормально. Странно. Вроде CurrentObjectType возвращает все согласно документации. Name Value Description acDefault -1 acDiagram 8 Database Diagram (Microsoft Access project (Microsoft Access project: An Access file that connects to a Microsoft SQL Server database and is used to create client/server applications. A project file doesn't contain any data or data-definition-based objects such as tables and views.)) acForm 2 Form acFunction 10 Function acMacro 4 Macro acModule 5 Module acQuery 1 Query acReport 3 Report acServerView 7 Server View acStoredProcedure 9 Stored Procedure (Microsoft Access project (Microsoft Access project: An Access file that connects to a Microsoft SQL Server database and is used to create client/server applications. A project file doesn't contain any data or data-definition-based objects such as tables and views.)) acTable 0 Table ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 15:48 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Папа ИгорьSerge GavrilovAccess 2007 CurrentObjectType возвращает -1 в случае, если в панели навигации выбрать прилинкованную MS SQL таблицу. Если таблицу открыть, то возвращает правильное значение 0. В 2003 все было нормально. Странно. Вроде CurrentObjectType возвращает все согласно документации. Должен, но не возвращает (по крайней мере у меня в Access 2007 SP1). Поэтому я и поместил эту иформацию в данном топике. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 19:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge GavrilovДолжен, но не возвращает (по крайней мере у меня в Access 2007 SP1). Поэтому я и поместил эту иформацию в данном топике. Так нет в документации в перечислении разбивки на линкованую и простую таблицы. Т.е. для всех таблиц возвращает 0. У меня так и происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 19:55 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Папа Игорь, внимательно посмотрите, я говорил о таблице с SQL сервера. Для таблицы прилинкованной с другого mdb файла все нормально. Глюк проявляется в Access 2007. То, что есть в документации я знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 21:48 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge GavrilovПапа Игорь, внимательно посмотрите, я говорил о таблице с SQL сервера. Для таблицы прилинкованной с другого mdb файла все нормально. Глюк проявляется в Access 2007. То, что есть в документации я знаю. Вот, что возвращает при закрытой и открытой таблице с SQL сервера : ?CurrentObjectType 0 0 Может гремлины? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 23:00 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Папа ИгорьВот, что возвращает при закрытой и открытой таблице с SQL сервера : Сборка. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 23:09 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Папа Игорь, баг я обнаружил после получения рекламации от пользователя. Т.е. это не локальный эффект. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 23:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serge GavrilovПапа Игорь, баг я обнаружил после получения рекламации от пользователя. Т.е. это не локальный эффект. Проверил. Да, в таком виде имеет место быть. С сервером да, а, например с Excel нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2009, 23:59 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Попал в западню... Доигрался с обработкой события Form_Load в форме, которая параметрами запуска Акса установлена на открытие файла (mdb). Проблема была в том, что я допустил в коде ошибку, но, видимо, Debuger включается не сразу и не в состоянии тормознуть ошибочный код. Все просто тупо повисает... Создаваемая при ошибке рез.копия тоже не спасает, ибо там тоже эта злосчастная форма стоит на загрузке... http://www.sql.ru/forum/actualthread.aspx?tid=703885 P.S. аккуратнее расписывайте формы, стоящие в автозагрузке при открытии...;);) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2009, 21:18 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Итак, вопрос. Является ли багом выполнение бесконечного цикла, вводящего Аксесс в ступор? По-видимому, не является, поскольку Аксесс честно выполняет инструкции. Однако, со стороны удобства использования это баг, поскольку Аксесс не предоставляет возможности безболезненно снять задачу без повреждения базы. Ну что ж, вот сегодняшняя задача для разминки мозгов № 7 про длительные вычисления. В кабинете под табличкой "Сомов С.С." сидит толстый дяденька с усами. Он пьёт колу и не думает ни о чём. В 10 часов утра к нему заходит начальник и просит сделать несложный расчёт. На листке написана задача для школьника 8 класса. "Какая цифра будет стоять на 500000-м месте, если выписать подряд все целые числа, начиная с единицы? И, кстати, сколько времени потребуется, чтобы добраться до этой цифры, если на выписывание одной цифры уходит одна секунда?" Насколько быстро сосчитает Сомов ответ, если каждое действие он будет делать со скоростью 1 цифра в секунду? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 12:27 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
CoolMind, хм.. а ctrl+break не срабатывает ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 12:33 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Рремешок, у меня обычно срабатывает... Но тоже не 100%. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 12:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
гы.. тогда вопрос должен звучать так. можно ли на Access написать программу, которую сам Access не сможет обработать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 13:01 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Рремешок, нет, Ctrl+Break - это первое, что пришло мне в голову. Выручил Shift! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 14:17 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access2002. ADP Есть форма с заголовком, областью данных и примечанием (F0). В области данных - подчинённая - ленточная форма(F1). Если в примечании главной формы поместить ещё одну подчинённую форму(F2), то в контекстном меню формы F1 становится неактивным пункт "Удалить фильтр". При перенесении контрола с подчинённой формой F2 из примечания главной формы в заголовок главной формы - пункт "Удалить фильтр" конткестного меню формы F1 опять становится активным Тестировал не очень детально, но пока сложилось вот такое устойчивое впечатление. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2010, 11:53 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access 2003SP3 .adp SQL SRV 2005 Уже сто лет пользуюсь Resync. Удобно, много всяких нестандартных вещей можно сделать. Но вот с составным ключем не доводилось производить Resync. А тут пришлось. Полезли ошибки. Читаю хелп: The ResyncCommand property is a string expression representing a SQL statement or stored procedure that is parameterized by the key columns from the Unique Table in the output cursor, using ? as parameter markers. You can set this property by using the property sheet or Visual Basic. The parameters must match in number and ordering to the set of key columns for the table identified by the UniqueTable property. The purpose of the ResyncCommand property is to pull in the "fixed up" values of a row in a recordset after an update has been made, including an update to a join column. Есть таблица: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
эта таблица объявлена UniqueTable в форме. Есть хранимая процедура: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Ключ таблицы (Dt datetime,DriverInd int) строка синхронизации ResyncCommand: Код: plaintext
Делаю Form.Recordset.Resync Смотрю в профайлере: exec sp_executesql N'exec dbo.hpDriversSaldoPointSync @P1,@P2', N'@P1 int,@P2 datetime' ,252,'2010-02-01 00:00:00:000' То есть The parameters must match in ... ordering to the set of key columns но только по факту в обратном порядке! Процедуру переписать невпадло, но осадок остался... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2010, 11:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
А вот мне встречалась в Аксессе 2003 несколько раз ситуация: На форме есть число типа Double. Назовём это число Остаток. Например 5182.456 С субформе (на этой же форме) есть колонка чисел - тоже тип Double. Назовём его Расход. Например 5182.456 Видно что числа равны. Остаток - Расход должен быть НОЛЬ. Но почему то вместо нуля появляется результат, например 0,14256899. И так далее. Откуда этот хвостик? Эту ситуацию на конкретном примере хотел обсудить на форуме. Пока просто пишу, что такое было. И не смог понять почему. Может кто встречался с такой проблемой? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 12:59 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Nebo, проблема старше мира. Храните остатки в полях типа Currency (Денежный). Это специальный целый тип. А в полях с плавающей точкой (Double, Simple) не гарантируется точность. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 13:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world, Понял. Не знал даже. А где про это поподробнее почитать? В хелпе? Или это есть в FAQе? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 13:18 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
А может лучше оставить Double? Но при это указать фиксированную точность DecimalPlaces = 3. У меня объём в кубических метрах. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 13:38 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вот отюда совет Бенедикта: http://sql.ru/forum/actualthread.aspx?tid=335035&hl=currency#3099388 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 13:39 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 15:24 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир Саныч, Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 15:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
NeboА может лучше оставить Double? Но при это указать фиксированную точность DecimalPlaces = 3. У меня объём в кубических метрах. Nebo, рассчитывать надо по заданному алгоритму. Это другой вопрос. Но хранить то, что потом требуется сравнивать, надо в типе данных с фиксированной точностью. Ну, а DecimalPlaces или Round это уже вообще вопрос интерфейса пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 16:11 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world, авторNebo, рассчитывать надо по заданному алгоритму. Это другой вопрос. Но хранить то, что потом требуется сравнивать, надо в типе данных с фиксированной точностью. Короче всё таки Current ? Да ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 16:24 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Извиняюсь. Currency (Денежный) ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 16:24 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
NeboИзвиняюсь. Currency (Денежный) ???Да. Но для промежуточных вычислений в Currency, действительно, может не хватить точности. Там надо Double. Или же, как писал Бенедикт в топике по вашей ссылке, договориваться о точности изначально. Тогда сравнение с образцом будет не на точное совпадение, а на попадание в заданый интервал. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 16:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world, Понял. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 17:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Nebo, всю 10 страницу можно удалить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 17:34 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
CoolMind, :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 18:13 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world, Прочитал в справке про Масштабируемое целое от –922 337 203 685 477,5808 до 922 337 203 685 477,5807. *** Денежные поля удобны для проведения расчетов с денежными значениями или для вычислений с фиксированной точкой, в которых требуется высокая точность. В полях этого типа сохраняются числа, содержащие до 15 знаков в целой части и до 4 знаков в дробной. В Visual Basic для этого типа используется символ описания @. *** mds_world, а как в деталях происходит отнимание 5182.456 - 5182.456 ? По какому алгоритму? Что здесь является целым? Часть числа слева до точки? Часть числа справа после точки. или всё это число умножается на 10000 (чтобы стать целым) перед любой операцией над этим числом. Тут мне конечно непонятно. Так то вроде как 5182.456 дробное число. Но объявляется масштабируемым целым (currency). Я многие вещи просто не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 18:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Nebo, Currency и есть целое. Но при отображении и операциях с ним десятичная точка смещена на 4 знака. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2010, 20:59 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world, Понял. Спасибо. Просветили насчёт Currency:) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2010, 01:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
CoolMindNebo, всю 10 страницу можно удалить :) +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2010, 01:30 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Источник данных для подчиненной формы exec dbo.MySp @Param1 работает, а вот exec dbo.MySp @Param1, @Param2, @Param3 вышибает акс 2010 с фатальной ошибкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2010, 01:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Alexus12оригинал: http://allenbrowne.com/NoYesNo.html кратко: а) поле YesNo не способно принять значение NULL б) в outer join запросе возможно получение NULL в таком поле, на что JET реагирует крахом предлагаю включить в FAQ ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 17:02 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир СанычAlexus12оригинал: http://allenbrowne.com/NoYesNo.html кратко: а) поле YesNo не способно принять значение NULL б) в outer join запросе возможно получение NULL в таком поле, на что JET реагирует крахом предлагаю включить в FAQ Протестировал. Попробовал и Right Join, и Left Join. Никакого аварийного завершения не заметил. По крайнем мере у меня А2003. Видимо та статья была про А2000. В той версии может быть это и был баг. :( Если у автора есть "аварийная версия" запроса, то хотел бы посмотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2011, 20:10 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
studieren, если бы мы разбирали каждый случай вылета запроса в каждой версии, на обычную работу у нас бы не оставалось времени. Может, ну их в баню, эти реализации, отходящие от стандарта? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 01:07 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Не знаю, может это ситуация и обычная, но недавно столкнулся с тем, что после удаления формы остался ее модуль, и он постоянно выдавал ошибку. Попытка удалить его или текст приводили к краху. Создал пустую форму с тем же именем, выше-зашел, удалил модуль, удалил форму-все заработало. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2011, 01:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Если поставить галочку "Синтаксис для SQL Server (ANSI 92)" и попробовать создать запрос вот с таким текстом, то Access не будет ругаться, но зато с крахом будет закрываться! Код: plaintext
А вот в ADODB этот же текст будет нормально работать. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 07:56 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Может и велосипед конечно. На двух разных машинах где стоит 2003 ACS (SP3) столкнулся с такой вещью. Если (на рабочем столе к примеру) из контекстного меню создать новую базу MS office ACCESS - и в ней форму с модулем, то при последующем закрытии и открытии этого файла модуль формы уничтожается. Однако если просто открыть MS ACCESS и создать новую базу, то все OK. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 09:20 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ALEXIS_22, Не правда! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 10:01 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир СанычAlexus12оригинал: http://allenbrowne.com/NoYesNo.html кратко: а) поле YesNo не способно принять значение NULL б) в outer join запросе возможно получение NULL в таком поле, на что JET реагирует крахом предлагаю включить в FAQ я бы предложил пока убрать этот пост из топека про баги. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2011, 19:09 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
alvkALEXIS_22, Не правда! Прошу прощения за неточность изложения. Я должен был указать что этот момент возникает у меня на некоторых отдельных взятых машинах (это правда), но причины этой кривизны очевидно не являются собственно багом MS ACCESS. Так что еще раз приношу извинения за свою неточность и афктический offtop. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2011, 10:06 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Неожиданный и непонятный баг. Access 2003, СП2 Группа переключателей на вкладке. Если выбран BackStyle (Тип фона) Прозрачный (Transparent), то группа блокируется полностью после первого нажатия. Выходит из комы только при фокусе на любое поле вне группы. И опять все по новой. Если тип BackStyle обычный, то все нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2011, 15:38 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world, уже давно SP3 есть.... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2011, 16:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
alvk, у вас SP3? Попробуйте создать ситуацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2011, 16:17 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world, Не получается, и вкладке делал тип фона прозрачный и группе переключптелей, всё работает. Может через модуль надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2011, 02:19 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Ситуация оказалась еще хитрее. Баг выявляется в том случае, если в площади группы есть комбобокс. И тогда у группы и этого комбо начинается удушье. Выполняется только один раз. Чтобы воскресить надо стукнуть по любому контролу вне группы. Но если задать тип фона "Прозрачный", то все нормально, все оживает. Чудеса... alvk, прилагаю ваш же пример ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2011, 09:14 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world, Да, чудеса, конечно элементов уже много, возможно в этом дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2011, 10:16 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_world Баг выявляется в том случае, если в площади группы есть комбобокс ... уточню... баг выявляется в том случае, если в площади группы есть вообще любой другой контрол (текстбокс, баттон, надпись и т.д.) ... предположение в чем может быть причина... так как эти инородные предметы в группе находятся перед самой группой, то после первого клика группа уходит на задний план... но это только для мышки, для клавы она доступна ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2011, 10:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
askerli... предположение в чем может быть причина... так как эти инородные предметы в группе находятся перед самой группой, то после первого клика группа уходит на задний план... но это только для мышки, для клавы она доступна Ну, как гипотеза может быть. Тут спорить трудно. Но мне в первую очередь показалось, что это действие какой-то блокировки совместными усилиями вкладки, группы и стороннего контрола на группе. Да это и неважно. Главное, что баг выявлен и описан. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2011, 11:19 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
mds_worldГлавное, что баг выявлен и описан. осталось настучать об этом Билли ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2011, 11:32 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
askerlimds_worldГлавное, что баг выявлен и описан. осталось настучать об этом Билли О, да. Это обречено на удачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2011, 11:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
В MS Access 2003 обнаружил такой баг: В Access'е 2003 все отчёты почему-то привязаны к конкретному принтеру. Тот кто в режиме конструктора вносит последнее изменение, тот и "невольно" фиксирует принтер, т.е. Access 2003 САМ фиксирует / запоминает этот принтер, а не кто-то явно указывает об этом. После этого происходит удивительный косяк. Если принтер "был" локальным у "последнего вносильщика изменений", то у остальных если нет такого принтера, то отчёт вообще невозможно открыть. Даже в режиме конструктора. Самое главное Access и не ругается, но и не открывает отчёт. Прям не знаю, что за напасть. Вылечить у "больного компьютера" (т.е. у конечного пользователя) не смог. Может кто знает какое-нибудь "хорошее" лекарство? Выход конечно есть, у каждого юзера нужно установить аналогичный принтер, но этот вариант не очень-то мне нравится. Например, в будущем если принтер поменяют (скажем спишут из-за изношенности), то тогда как? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2011, 10:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
studieren, У меня вообще выставлял галку "другой принтер", рисовал там принтер и печатал падла по сетке на него, причём у пользователя он даже не был установлен. Вылечил принудительным сохранением с параметром "локальный принтер". вроде.. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2011, 10:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
alvkstudieren, У меня вообще выставлял галку "другой принтер", рисовал там принтер и печатал падла по сетке на него, причём у пользователя он даже не был установлен. Вылечил принудительным сохранением с параметром "локальный принтер". вроде.. Беда в том, что у меня и не выходит такое сообщение. В смысле Access не спрашивает другого принтера, а молчит как партизан, и не открывает. Вообщем косяк какой-то. Индусы блин мелкософтовские намудрили там внутри видать. Вообщем вылечили пока так, создали точно такой же принтер у всех. Но если когда-нибудь надо будет поменять принтер (Слава Богу, что далеко не каждый день придётся делать это :)) ), то придём в гости к юзерам. Надо же хотя бы иногда с ними встречаться "в живую". :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2011, 11:18 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Есть такое. Выход - не указывать конкретный принтер, только "принтер по умолчанию" или как там в русской версии. Да это и достаточно корректно для пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2011, 14:58 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Возможно, у меня была не точно эта проблема, а что-то похожее на нее, но помогало перенести в Windows галку "принтер по умолчанию" на другой принтер. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2011, 15:17 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
alvkи печатал падла по сетке на него угу, в другой город другой страны... во владельцы принтера удивлялись - нафига им отчет из БД инвентаризации имущества и списки опоздавших сотрудников из другого офиса... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2011, 15:24 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
полином, в другой кабинет, потому что в свойствах стоял "другой принтер" и речь про терминал. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2011, 15:38 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
alvkв другой кабинет. у меня упорно печатал в другой город ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2011, 16:16 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Для меня было неожиданностью такое поведение boolean Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Код: vbnet 1. 2. 3.
Оссобенно эффектно было: Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 18:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
vladK{поскипано} Оссобенно эффектно было: Код: vbnet 1. 2. 3. 4.
кагбэ... 1 != -1 Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 18:50 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Это понятно, однако если прямо присвоить b = 1 такого эффекта не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 19:23 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
vladKЭто понятно, однако если прямо присвоить b = 1 такого эффекта не будет. Код: vbnet 1. 2. 3. 4. 5.
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 19:38 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГостькагбэ... 1 != -1 И как же это значение 1 сидит в переменной, описанной As Boolean? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 01:39 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир Саныч, такого можно достигнуть и другими способами, например через LSet. Но данный конкретный случай видится именно багом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 03:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир СанычСавсемГостькагбэ... 1 != -1 И как же это значение 1 сидит в переменной, описанной As Boolean? Очень просто. Например если WinAPI-функцию, возвращающую BOOL (сиплюсплюсный бул, который на самом деле инт), задекларить как возвращающую Boolean (вебешный), то именно так и будет - в Boolean окажется 1 вместо -1. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 11:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
В общем, это не баг аксеса, это баг VB. Или даже скорее так - кривые руки программера, который не умеет апишные функции декларить. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 11:10 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Дело не в единице. Там любое двухбайтное целое может оказаться. Об эту бяку я споткнулся года 4-5 назад. Кажется, даже топик здесь был. Тогда официальная дока на некий класс автоматизации сказала мне, что свойство возвращает булеан, во что я поверил, а он, такой-сякой, единицу мне в булеан запихивал. Сейчас попробовал думать – баг это или фича. Решил, что баг - на таком основании: Если бы это была фича, то кроме двухбайтных целых можно было бы напрямую, без copymemory или putmem в булеан любую букву запихнуть. Однако, это не так – проверка типа в примере VladK происходит. Значит, какой-то кусок механизма приведения типов отрабатывает (проверка совместимости объявленных типов), а какой-то нет – частично не работает для этого случая встроенное преобразование. Слово частично означает следующее – если в процедуре GetP присваивать строку "3003" то произойдет преобразование к ближайшему совместимому типу – Integer и значение отлично присвоится в целевой boolean, а если присваивать букву – "K", то произойдет ошибка преобразования типов Для фичи было бы прилично не проверять совместимость типов совсем и ошибку выдавать как раз для первого случая (попытки присвоения строки "3003") – вроде переполнения целого. А так получается, что приведение к ближайшему совместимому числовому типу работает, а встроенное преобразование при этом выключается. Дальше все ломается и логическое значение ведет себя как неотрицаемое - т.е. значение тождественно равно своему отрицанию. и даже b = cbool(b) его уже не лечит Лечить может правильно подобранный OR - типа If b Then (b or -1) модифицированный тест теста Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 12:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
повтор: Лечить может правильно подобранный OR - типа If b Then b = (b or -1) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 12:33 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
booby, b=CInt(b) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 13:19 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
booby, у меня соображения, что это баг, примерно те же. Передача варианта параметром по ссылке в процедуру должна быть безопасна и подвергаться необходимой проверке и преобразованию типа, с точки зрения языка, в отличие от небезопасных (отданных на откуп программиста) вызовов LSet, и внешних функций, осуществляющих изменение памяти по переданному адресу. Здесь же кто-то решил срезать угол (или банально недосмотрел), основываясь на единстве внутреннего представления Boolean и Integer. И получился баг компилятора. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 13:28 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
возможно, ОФФ. Если так, - уважаемые модераторы, удалите пост во избежание. booby, Дело не в единице. Там любое двухбайтное целое может оказаться. {могабукаф поскипано} А маны - для кого?Boolean Data Type Boolean variables are stored as 16-bit (2-byte) numbers, but they can only be True or False. Boolean variables display as either True or False (when Print is used) or #TRUE# or #FALSE# (when Write # is used). Use the keywords True and False to assign one of the two states to Boolean variables. When other numeric types are converted to Boolean values, 0 becomes False and all other values become True. When Boolean values are converted to other data types, False becomes 0 and True becomes -1. ЗЫ: и не "лечить" надо, а курить... всё те-же маны. До полного. И окончательного. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 13:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Бенедиктbooby, b=CInt(b) Да, но это двойное преобразование типа. Всего лишь подтверждает тИповую неполноценность boolean. 2СавсемГость я рад тому, что вам хочется что-то сказать. Жаль только, что вы ничего не говорите. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 13:43 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
booby, к чему слова, когда на небе звёзды? Под спойлер из моего предидущего поста заглядывали? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 13:50 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
[quot СавсемГость]... к чему слова, когда на небе звёзды? ...[quot] Претензия на дискурс не может заканчиваться просто подъемом к небу глаз. Попробуйте сформулировать свою идею так, чтобы можно было к ней отнестись как логической пропозиции. Может быть тогда все читатели одновременно ахнут, и отрукоплещут вас. Или вам. А пока лишь вспомнается французский горожанин, мечтающий о смене социального статуса. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 14:58 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
booby, под спойлер -таки не заглядывали :) Там цитата из справки по VBA: Boolean Data Type Boolean variables are stored as 16-bit (2-byte) numbers, but they can only be True or False. Boolean variables display as either True or False (when Print is used) or #TRUE# or #FALSE# (when Write # is used). Use the keywords True and False to assign one of the two states to Boolean variables. When other numeric types are converted to Boolean values, 0 becomes False and all other values become True. When Boolean values are converted to other data types, False becomes 0 and True becomes -1. Идея проста: функционал, не описаный явно, разработчиком не гарантируется. И "багом" быть не может :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 16:26 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
вот теперь я вас понял. ваша цитата: When other numeric types are converted to Boolean values, 0 becomes False and all other values become True. Здесь не написано явно, что Not True = False Значите это не гарантируется и багом не является ситуация, когда not True = True Иными словами, если Debug.print b показывает True, то не гарантируется, что debug.print b , not b покажет true, False Спасибо за разъяснения. Вот теперь все совершенно понятно. (не знаю только, куда деть такое понимание. Может есть конструктивные предложения?) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 16:39 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
booby, Здесь не написано явно, что Not True = False Значите это не гарантируется и ... Я процитировал не всю справку по VBA Сорри, не удержался. ...и багом не является ситуация, когда not True = Trueот комментария воздержусь Иными словами, если Debug.print b показывает True, то не гарантируется, что debug.print b , not b покажет true, FalseСовершенно верно. Не гарантируется. Внимательно перечитайте раздел Not Operator в справке VBA. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 16:56 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Скажите, может быть в справке (совершенно случайно) написано, что 2*2=4? Если нет, то наверное не стоит считать багом цифру 5, выданную конструкцией Debug.Print 2*2 Ясность полная. "не знаю только, куда деть такое понимание" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 18:34 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛП, не поверите, написано. Не дословно, конечно. Но, что есть, то есть. ЗЫ: вброс защитан! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 18:41 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГостьне поверите, написано. Не дословно, конечно. Но, что есть, то есть. Не поверите, но если уж "не дословно, конечно", то там написано и про то, что Not True = False ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 10:16 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛПНе поверите, но если уж "не дословно, конечно", то там написано и про то, что Not True = False Not True = False но не Not 1 = False ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 10:39 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГость.ЛПНе поверите, но если уж "не дословно, конечно", то там написано и про то, что Not True = False Not True = False но не Not 1 = False Сказано же по-русски Boolean variables ... can only be True or False Какое слово непонятно? Если все слова понятны, то какое такое 1? Упорствуете в своём "не баг" - ваше право. Только тогда придётся хелп сжевать. Или перестать на него ссылаться. Или крестик снять, или трусы надеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 10:43 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛП, что ж так разволновало ? Какое слово непонятно? Если все слова понятны, то какое такое 1? 11774029 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 10:56 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛПСказано же по-русски Boolean variables ... can only be True or False Какое слово непонятно? .ЛП, учимся читать всю статью, а не только понравившиеся части: Use the keywords True and False to assign one of the two states to Boolean variables. Какое слово не понятно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 11:31 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГостьучимся читать всю статью, а не только понравившиеся части: Use the keywords True and False to assign one of the two states to Boolean variables. Какое слово не понятно ? Алё, Вась? То, что "use keywords" - как то отменяет то, что "can only be"? Принимается односложный ответ. Типа да/нет/не знаю/знаю, но не скажу. После этого и поговорим. четателей развелось, тля, плюнуть некуда :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 13:32 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛП, что-то ты многословен стал. Стареешь, наверно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 14:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир Саныч.ЛП, что-то ты многословен стал. Стареешь, наверно. Звиняй, борода, похмелье случилось :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 14:57 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛПАлё, Вась? То, что "use keywords" - как то отменяет то, что "can only be"? Принимается односложный ответ. Типа да/нет/не знаю/знаю, но не скажу. После этого и поговорим. четателей развелось, тля, плюнуть некуда :)Никак не отменяет. "use keywords" от "may use keywords" отличить, надеюсь, сможете? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 16:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Короче говоря, эту проблему надо переносить в другой топик. В ответ на недокументированный синтаксис получаем недокументированное поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 16:41 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГостьНикак не отменяет. Очень хорошо. Имеем два утверждения из хелпа: 1. Булевская переменная может быть только Труе и Фалсе. 2. Результатом применения оператора Нот к значению Труе является Фалсе. И наоборот, Нот Фалсе равно Труе. Имеем кусок кода, результат выполнения которого опровергает либо первое, либо второе утверждение. Явно написанное. На данный момент все слова понятны? "use keywords" от "may use keywords" отличить, надеюсь, сможете? Со словарём справлюсь. Однако ж даже со словарём не пойму, при чём тут вот это вот "use the keywords ... to assign ... to Boolean variables", если в приведённом куске кода не содержится ни одного присвоения значения булевской переменной. Присвоение значения переменной типа Variant - есть. Присвоения значения переменной типа Boolean - нет. К чему было акцентировано "use keywords", независимо от того, "may" или не "may"? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 16:48 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир СанычКороче говоря, эту проблему надо переносить в другой топик. В ответ на недокументированный синтаксис получаем недокументированное поведение. Нет. Синтаксис самый что ни на есть документированный. Возможные значения типа Boolean - документированы. Возможные результаты оператора Not - документированы. Правила приведения типов вообще, и Integer к Boolean в частности - документированы. Вместе оно не (всегда) работает. Но почему-то говорят, что это не баг. Вах-вах-вах. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 16:51 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛП, Присвоение значения переменной типа Variant - есть. Присвоения значения переменной типа Boolean - нет.Мы один и тот-же код обсуждаем? К чему было акцентировано "use keywords", независимо от того, "may" или не "may"? Было акцентировано, как раз отсутствие may. Надеюсь, многоуважаемому .ЛП знакомы принципы "Всё, что не разрешено - запрещено" и "использование недокументированных возможностей - на свой страх и риск"? Спекуляций на тему "как же тогда быть с присвоением результата логического выражения переменной типа Boolean??!!!", надеюсь, не будет. ЗЫ: если можно, объясните притчу про крестик и трусы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 17:32 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГость.ЛП, Присвоение значения переменной типа Variant - есть. Присвоения значения переменной типа Boolean - нет.Мы один и тот-же код обсуждаем? Да. Признаю свою оплошность, поторопился. Видимо есть присвоение Boolean'у. звиняйте, таки посыпаю голову пеплом. поспешил, не проверил. привычке решил, что там промежуточная упаковка-распаковка вылезает, ан нет. Тогда переколбашусь слегка. Есть два утверждения из хелпа. 1. Boolean variables are stored as 16-bit (2-byte) numbers, but they can only be True or False. 2. When other numeric types are converted to Boolean values, 0 becomes False and all other values become True. По приведённому коду - либо не "can only be", либо не "becomes". Надеюсь, многоуважаемому .ЛП знакомы принципы "Всё, что не разрешено - запрещено" и "использование недокументированных возможностей - на свой страх и риск"? Приведение типов - документировано. Вообще. И numeric types к boolean в частности. ЗЫ: если можно, объясните притчу про крестик и трусы. Дык вся притча уже и сказана. В бане - "Авраам Моисеевич, или крестик снимите, или трусы наденьте". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 17:51 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
>.ЛП, >Видимо есть присвоение Boolean'у. Видимо есть ... запись в память, "выделенную" под Boolean значения типа Variant/Byte(?) А вот приведения к Boolean нет совсем Я уже почти готов согласиться, что это бак VB ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 18:22 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГостьВидимо есть ... запись в память, "выделенную" под Boolean значения типа Variant/Byte(?) Если бы это было LSet, или возврат значения из WinAPI-функции, то было бы можно говорить про "запись в память, выделенную под". Ну, вот я так думаю. По крайней мере нигде не сказано, что в таких случаях должно быть какое-то приведение типов. Наверное даже сказано обратное. А вот приведения к Boolean нет совсем Ну как же это "нет совсем"? Ведь значение типа String преобразуется. Сначала в numeric type. Если сумеет. Потом из numeric type в Boolean. С багом. Если бы было "нет совсем", т.е. например не происходило бы преобразования стринга в интеджер, то был бы другой коленкор. Можно было бы со спокойной совестью поставить этот случай на ту же полку, где стоит LSet и WinAPI. А так имеем то, что "преобразовывали, преобразовывали, да не выпреобразовывали". В полном противоречии с хелпом, раз уж речь зашла о документированности и допустимости (и допустимости через документированность) преобразований. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 18:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛПВедь значение типа String преобразуется. Сначала в numeric type. Если сумеет. Потом из numeric type в Boolean. С багом. Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 18:52 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Владимир Саныч.ЛПВедь значение типа String преобразуется. Сначала в numeric type. Если сумеет. Потом из numeric type в Boolean. С багом. Код: vbnet 1. 2. 3. 4.
Код: vbnet 1. 2. 3. 4.
А вот при попытке сделать Код: vbnet 1. 2. 3.
получается "программа выполнила невыполнимое и будет закрыта". Бида бида огорчение... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:04 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
>.ЛП, >Потом из numeric type в Boolean. С багом. Такое впечатление, что не к Boolean, а к его внутреннему представлению. ЗЫ: как по мне, что LSet, что "обычная" процедура с передачей "хитрожёлтого" типа по ссылке в параметр с формальным типом вариант, - те же яйца, только в профиль. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:05 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
.ЛП, А вот при попытке сделать Код: vbnet 1. 2. 3.
получается "программа выполнила невыполнимое и будет закрыта". Если это баг копипаста, то будет Overflow. Если умышленно, то до рантайма и не дойдёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:09 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГость>.ЛП, >Видимо есть присвоение Boolean'у. Видимо есть ... запись в память, "выделенную" под Boolean значения типа Variant/Byte(?) А вот приведения к Boolean нет совсем Я уже почти готов согласиться, что это бак VBЧтобы было меньше вопросов: Код: 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. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89.
Вывод: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Т. е. баг (не приведение к типу Boolean, несмотря на то, что информация о типе, на который ссылается Variant, имеется) в момент присвоения pOut. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:13 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГостьЕсли это баг копипаста, то будет Overflow. Если умышленно, то до рантайма и не дойдёт. Да нет, совсем не бага копипаста. И до рантайма доходит. Что я делаю не так? Может у нас датавременные константы в коде стали как-то по-другому писаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГостьЗЫ: как по мне, что LSet, что "обычная" процедура с передачей "хитрожёлтого" типа по ссылке в параметр с формальным типом вариант, - те же яйца, только в профиль.Ничего подобного. LSet небезопасен. Присвоение значения Variant-у обязано быть безопасным. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:18 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
не тот вывод скопипастил. Вот соответствующий коду: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:25 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Пришёл лесник Бенедикт и всех разогнал ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:35 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
>.ЛП, >Да нет, совсем не бага копипаста. И до рантайма доходит. Что я делаю не так? Невнимательно смотрите. Код: vbnet 1. 2. 3.
У Вас два слеша подряд в "литерале даты". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:38 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
СавсемГость>.ЛП, >Да нет, совсем не бага копипаста. И до рантайма доходит. Что я делаю не так? Невнимательно смотрите. Код: vbnet 1. 2. 3.
У Вас два слеша подряд в "литерале даты". А, не, это бага копипаста. Пальцы заплетаются, простите. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 19:44 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Пальцы заплетаются за язык... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2011, 20:06 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
начал работать с аксом 2003 глючит часто при быстрой работе копирования и т.д. надинает отваливатся главная форма у меня самое ужасное - импорт таблиц dBase 5, OOCB с этим делом вообще непонятки то нормально импортируется один и тот же файл, то выскакивают всякие ошибки (типо путь не найдет или ошибка драйвера) часто теряются связи с таблицами bdf ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 19:45 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Access 2003. Есть главная форма, внутри которой подчиненная. Подчиненная выполнена в табличном виде и на ее первом поле висит макрос, который по клику на это поле открывает другую форму. При открытии главной формы, в какую бы точку подчиненной формы не кликнешь - срабатывает это макрос, но самое странное, что срабатывает только 1 раз, т.е. сразу после открытия формы. При этом он нормально продолжает отрабатывать при клике на нужное поле. Не понимаю в чем дело и как такое возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2013, 09:40 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
я вообще пока себе не скачал офис 2013, один очень важный документ открыть по асесу не мог, а надо было срочно, ппц ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2015, 16:41 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
hardfate, И в чем баги? В отсутствии на машине нужной версии Access? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.07.2015, 16:50 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
как по мне вообще баговая система, лучше использовать My SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2015, 11:48 |
|
Баги 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 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
`rnk_unauthorized В теории: Операторы Mod (остаток при делении) и \ (целочисленное деление) имеют одинаковый приоритет нет https://msdn.microsoft.com/ru-ru/library/office/gg278455.aspx Ах, вот оно что... Нелогично, в C++ и Transact SQL у умножения, деления и остатка одинаковый приоритет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2017, 16:34 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Какова максимальная скорость записи в Microsoft Access очерез oledb? Сколько не пробовал менять настройки и файлы -- получилось добиться лишь порядка 1000 строк в секунду (при полу сотне текстовых и числовых полей). С этим можно что-то сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2017, 15:33 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Относительно ошибки связанной с OLE объектами - "Сервер OLE не зарегистрирован" и т.п. Решение - открыть объект (в моем случае *.lpg) в браузере к примеру в Firefox, там копируем изображение, вставляем в форме на соответствующее поле объекта OLE. Работает без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2017, 14:55 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Формат базы MDB. Под 2010 версией запускается без проблем. Под 2003 стала выдавать что-то типа "Неправильное присвоение Null". Отладчик ошибку не ловит. Решение проблемы. 1. Отключаем autoexec и стартовые формы (если есть) 2. Делаем декомпиляцию базы (ключ /decompile) 3. Сжимаем базу. 4. Делаем компиляцию проекта (редактор VBA, меню Debug, пункт Compile...) 5. Подключаем обратно autoexec и стартовые формы (если есть) Всё работает. Размер базы при этом уменьшается, поскольку из неё удаляется "мусор", который нельзя удалить процедурой "Сжатие/восстановление" Это так же помогает, когда в программе возникают неопознанные ошибки. Отдельные формы не хотят загружаться или грузятся с ошибками. Возникают обращения к незадействованным событиям. Вместо декомпиляции можно воспользоваться модулем очистки от "мусора" Юрия Шермана. Взять можно здесь или здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2018, 11:15 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Иногда, довольно редко, прежде чем сделать определённые действия, надо определить, имеет ли пользователь права администратора? Нашел тут на сайте VBStreets код, который позволяет определить, является ли админом пользователь, вошедший в систему Код можно посмотреть здесь Что интересно. В Access 2003 код великолепно работает, а в 2010 вылетает. Без всяких сообщений об ошибках. Просто идёт на перезагрузку Access и предлагает послать сообщение в Microsoft. В чём дело, не смог разобраться. Windows 7 - 32 bit и Windows Server 2008 R2. Access 2010 - 32 bit 14.0.4750.1000 Access 2003 11.8321.8405 SP3 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2018, 13:22 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
В дополнение к выше написанному. Оказалось дело в вызове функции FreeSid , которая освобождает идентификатор безопасности (SID), ранее выделенный с помощью функции AllocateAndInitializeSid . Её вызов просто аварийно закрывал Access. Программно перехватить это событие было невозможно. Для определения привилегий пользователя предлагаю использовать функцию IsUserAnAdmin из библиотеки Shell32 , хотя MSDN и пишет, что эта функция является оберткой для CheckTokenMembership , и рекомендует вызвать эту функцию напрямую, чтобы определить статус группы администратора, а не вызвать IsUserAnAdmin . Но в нашем случае лучше использовать функцию IsUserAnAdmin Определение функции Код: vbnet 1.
В интернете я встречал и вот такой вызов Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2018, 08:54 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вот такое вот сообщение иногда появляется...... Импортом обьектов в новую базу лечится без проблем.... Но таки что это и почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 10:46 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serg197311, тоже возникало несколько раз. причем при возникновении данной ошибки перестают работать любые процедуры на любых контролах формы, втч и на самой форме. лечил также импортом из бэкапа ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 14:47 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Ганов Александр лечил также импортом из бэкапа Ну это мы перхоть гильотиной лечим.... Помогает, конечно...... Но как то уж слишком радикально..... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 17:36 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serg197311, ну вот собственно, опять то же самое. Причем не на какое-то определенное событие в форме или контролах, а на любое и каждое событие в форме и контролах вылетает такая штука. Дело было так, при внесении данных Access вылетел. После открытия в одной из форм началась такая "заморока", причем в момент вылета работа велась в другой форме. Скопировал эту же базу в другое место. Открыл - все ОК. Скопировал обратно с заменой файла - все работает ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 12:37 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Проверьте, пожалуйста, имена всех разделов формы - не закрались ли в них какие-нибудь левые символы. (А заодно имя самой формы и имена всех контролов, но это может быть долго.) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 15:24 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Предыдущим четырём пользователям. Такое, или похожее случается, когда вы правите код в форме открытой в режиме формы. Слетает один из уровней компиляции. Специалисты пишут что количество уровней компиляции в Access Может достигать 11. Я в этом случае пользуюсь модулем очистки от мусора Юрия Шермана, ну или своей модификацией этого модуля. Модуль Юрия Шермана моя доработка ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 16:51 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Joss . Такое, или похожее случается, когда вы правите код в форме открытой в режиме формы. Да я этим регулярно грешу..... В основной(довольно большой и сложной) базе - нифига не происходит.... Создал маленькую еще одну для других целей- и понеслась... Возможно дело в том, что основная база создана была очень давно, я ее просто открыл и пересохранил..... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 19:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Serg197311Создал маленькую еще одну для других целей- и понеслась... Создал правой кнопкой мыши в проводнике ? Если так - то это старые грабли, создавай пустые базы через меню акцесса (файл, создать, пустая бд...) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 19:08 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
vmagSerg197311Создал маленькую еще одну для других целей- и понеслась... Создал правой кнопкой мыши в проводнике ? Если так - то это старые грабли, создавай пустые базы через меню акцесса (файл, создать, пустая бд...) Спасибо, запомню..... Но как создавал - уже и не помню.... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2018, 19:40 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Joss, добрый день. дада именно так и было. не думал, что есть взаимосвязь. понял. буду закрывать формы при правке в них когда или переводить в режим конструктора. Спасибо за совет ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2018, 04:53 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Для любопытных от Даниэля Пино. Поскольку Microsoft не хочет давать пользователям FREELY сообщения об ошибках, я решил создать эту страницу, чтобы начать собирать информацию о проблемах https://www.devhut.net/ms-access-bug-listing/ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 14:29 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
ТеньОтцаГамлета, а вот так подумаешь...ну его этот нативный код...ведь может так статься...вот остался шаг или два до финала разработки и тут перед тобой встает Проблема из темных глубин кода Access и говорит ..."Куда прешь...не положено...приехали...вылезай" Так может сразу пойти в Web...там столько вариантов...или в 1С...ERP...там даже переменные можно на кириллице...может ну его ...этот путь Самурая...вот читаешь повести Ходивших в Access ... и как то ...страшновато ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2019, 08:13 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
есть база аксеса.accdb Которую я 2й год вояю )) И бух выключила питание сервака. и я при открытие базы увидел такую надпись не удалось внести изменения из-за посторяющихся значениях в индексе, первичном ключе или связях. Измените данные в одном или нескольких полях, содержащих повторяющиеся значения, удалите индекс или переопределите его, разрешив повторяющиеся значения и повторите попытку. Ну я сначала думал, 1) пересоберу заново в другую базу забрав формы - нихрена, базу не открывает дя импорта 2) Загуглю найду проблему решиться - нихрена везде ответы по таблицам и т.д. База открывается они могут ее редактировать. В итоге у меня нередактируемая база а просто 50 метров разделенной базы которую я не могу даже открыть. такой проблемы по открытию не нашел База разделена, все таблицы как отдельную базу я открыть могу, формы не могу открыть. И причем тут интексы не понятно. С учетом всеговышесказанного считаю это багом причем не описанным Если кто найдет инфу как лечить буду бллагодарен ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 20:03 |
|
Баги Access (топик не закрыт, можно добавлять)
|
|||
---|---|---|---|
#18+
Вот еще один косяк Акцесса. Двойное обращение к хранимке на MS SQL сервере. Для воспроизведения: Особенности Акцесса 'пример, демонстрирующий, что открытие рекордсета с запросом в виде "SELECT .. FROM sql_запрос", который обращается к хранимой процедуре, вызовет эту хранимку ДВАЖДЫ 'Возможно, что аналогично происходит не только с обращением к хранимке, но и с любым SELECT`ом 'В приведенном примере после каждого вызова в таблицу добавляется 2 записи, хотя в хранимке происходит добавление только одной записи 'При этом вывод результатов происходит именно для результата первого запуска хранимки, а не второго. На MS SQL сервере выполняем 1.Создаем таблицу Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
2. Создаем хранимку Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
3. В базе Акцесс создаем процедуру обновления sql-запроса Код: 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.
4. В БД Акцесс создаем процедуры для теста Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
и Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 09:14 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1610055]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
600ms |
get tp. blocked users: |
1ms |
others: | 308ms |
total: | 1110ms |
0 / 0 |