Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 6 7 8 9 10 11 12 13 14 [15]
 Re: Баги Access (топик не закрыт, можно добавлять)  [new]
rnk_unauthorized
Guest
`
rnk_unauthorized
В теории:
Операторы Mod (остаток при делении) и \ (целочисленное деление) имеют одинаковый приоритет

нет
https://msdn.microsoft.com/ru-ru/library/office/gg278455.aspx

Ах, вот оно что... Нелогично, в C++ и Transact SQL у умножения, деления и остатка одинаковый приоритет.
26 авг 17, 16:34    [20751160]     Ответить | Цитировать Сообщить модератору
 Re: Баги Access (топик не закрыт, можно добавлять)  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3484
Какова максимальная скорость записи в Microsoft Access очерез oledb? Сколько не пробовал менять настройки и файлы -- получилось добиться лишь порядка 1000 строк в секунду (при полу сотне текстовых и числовых полей). С этим можно что-то сделать?
5 сен 17, 15:33    [20773199]     Ответить | Цитировать Сообщить модератору
 Re: Баги Access (топик не закрыт, можно добавлять)  [new]
Beeptec
Member

Откуда:
Сообщений: 3
Относительно ошибки связанной с OLE объектами - "Сервер OLE не зарегистрирован" и т.п.
Решение - открыть объект (в моем случае *.lpg) в браузере к примеру в Firefox, там копируем изображение, вставляем в форме на соответствующее поле объекта OLE.
Работает без проблем.
3 ноя 17, 14:55    [20925085]     Ответить | Цитировать Сообщить модератору
 Re: Баги Access (топик не закрыт, можно добавлять)  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4274
Формат базы MDB. Под 2010 версией запускается без проблем. Под 2003 стала выдавать что-то типа "Неправильное присвоение Null". Отладчик ошибку не ловит.
Решение проблемы.
1. Отключаем autoexec и стартовые формы (если есть)
2. Делаем декомпиляцию базы (ключ /decompile)
3. Сжимаем базу.
4. Делаем компиляцию проекта (редактор VBA, меню Debug, пункт Compile...)
5. Подключаем обратно autoexec и стартовые формы (если есть)

Всё работает. Размер базы при этом уменьшается, поскольку из неё удаляется "мусор", который нельзя удалить процедурой "Сжатие/восстановление"

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

Вместо декомпиляции можно воспользоваться модулем очистки от "мусора" Юрия Шермана.
Взять можно здесь или здесь
14 апр 18, 11:15    [21338792]     Ответить | Цитировать Сообщить модератору
 Re: Баги Access (топик не закрыт, можно добавлять)  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4274
Иногда, довольно редко, прежде чем сделать определённые действия, надо определить, имеет ли пользователь права администратора?

Нашел тут на сайте 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

К сообщению приложен файл (CheckAdmin.rar - 24Kb) cкачать
2 май 18, 13:22    [21382603]     Ответить | Цитировать Сообщить модератору
 Re: Баги Access (топик не закрыт, можно добавлять)  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4274
В дополнение к выше написанному.
Оказалось дело в вызове функции FreeSid, которая освобождает идентификатор безопасности (SID), ранее выделенный с помощью функции AllocateAndInitializeSid. Её вызов просто аварийно закрывал Access. Программно перехватить это событие было невозможно.
Для определения привилегий пользователя предлагаю использовать функцию IsUserAnAdmin из библиотеки Shell32, хотя MSDN и пишет, что эта функция является оберткой для CheckTokenMembership, и рекомендует вызвать эту функцию напрямую, чтобы определить статус группы администратора, а не вызвать IsUserAnAdmin. Но в нашем случае лучше использовать функцию IsUserAnAdmin
Определение функции
Public Declare Function IsUserAdmin Lib "Shell32" Alias "IsUserAnAdmin" () As Boolean

В интернете я встречал и вот такой вызов
Public Declare Function IsUserAnAdmin Lib "Shell32" Alias "#680" () As Boolean
4 июл 18, 08:54    [21541269]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 6 7 8 9 10 11 12 13 14 [15]
Все форумы / Microsoft Access Ответить