powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Баги Access (топик не закрыт, можно добавлять)
20 сообщений из 370, страница 15 из 15
Баги Access (топик не закрыт, можно добавлять)
    #39510944
rnk_unauthorized
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
`rnk_unauthorized В теории:
Операторы Mod (остаток при делении) и \ (целочисленное деление) имеют одинаковый приоритет
нет
https://msdn.microsoft.com/ru-ru/library/office/gg278455.aspx
Ах, вот оно что... Нелогично, в C++ и Transact SQL у умножения, деления и остатка одинаковый приоритет.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39515799
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какова максимальная скорость записи в Microsoft Access очерез oledb? Сколько не пробовал менять настройки и файлы -- получилось добиться лишь порядка 1000 строк в секунду (при полу сотне текстовых и числовых полей). С этим можно что-то сделать?
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39547475
Фотография Beeptec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Относительно ошибки связанной с OLE объектами - "Сервер OLE не зарегистрирован" и т.п.
Решение - открыть объект (в моем случае *.lpg) в браузере к примеру в Firefox, там копируем изображение, вставляем в форме на соответствующее поле объекта OLE.
Работает без проблем.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39630183
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формат базы MDB. Под 2010 версией запускается без проблем. Под 2003 стала выдавать что-то типа "Неправильное присвоение Null". Отладчик ошибку не ловит.
Решение проблемы.
1. Отключаем autoexec и стартовые формы (если есть)
2. Делаем декомпиляцию базы (ключ /decompile)
3. Сжимаем базу.
4. Делаем компиляцию проекта (редактор VBA, меню Debug, пункт Compile...)
5. Подключаем обратно autoexec и стартовые формы (если есть)

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

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

Вместо декомпиляции можно воспользоваться модулем очистки от "мусора" Юрия Шермана.
Взять можно здесь или здесь
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39638969
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда, довольно редко, прежде чем сделать определённые действия, надо определить, имеет ли пользователь права администратора?

Нашел тут на сайте 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
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39669232
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дополнение к выше написанному.
Оказалось дело в вызове функции FreeSid , которая освобождает идентификатор безопасности (SID), ранее выделенный с помощью функции AllocateAndInitializeSid . Её вызов просто аварийно закрывал Access. Программно перехватить это событие было невозможно.
Для определения привилегий пользователя предлагаю использовать функцию IsUserAnAdmin из библиотеки Shell32 , хотя MSDN и пишет, что эта функция является оберткой для CheckTokenMembership , и рекомендует вызвать эту функцию напрямую, чтобы определить статус группы администратора, а не вызвать IsUserAnAdmin . Но в нашем случае лучше использовать функцию IsUserAnAdmin
Определение функции
Код: vbnet
1.
Public Declare Function IsUserAdmin Lib "Shell32" Alias "IsUserAnAdmin" () As Boolean


В интернете я встречал и вот такой вызов
Код: vbnet
1.
Public Declare Function IsUserAnAdmin Lib "Shell32" Alias "#680" () As Boolean
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39697054
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такое вот сообщение иногда появляется......
Импортом обьектов в новую базу лечится без проблем.... Но таки что это и почему?
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39727579
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311, тоже возникало несколько раз. причем при возникновении данной ошибки перестают работать любые процедуры на любых контролах формы, втч и на самой форме. лечил также импортом из бэкапа
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39727630
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ганов Александр лечил также импортом из бэкапа Ну это мы перхоть гильотиной лечим.... Помогает, конечно...... Но как то уж слишком радикально.....
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39729211
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311, ну вот собственно, опять то же самое. Причем не на какое-то определенное событие в форме или контролах, а на любое и каждое событие в форме и контролах вылетает такая штука. Дело было так, при внесении данных Access вылетел. После открытия в одной из форм началась такая "заморока", причем в момент вылета работа велась в другой форме. Скопировал эту же базу в другое место. Открыл - все ОК. Скопировал обратно с заменой файла - все работает
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39729357
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Проверьте, пожалуйста, имена всех разделов формы - не закрались ли в них какие-нибудь левые символы. (А заодно имя самой формы и имена всех контролов, но это может быть долго.)
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39729432
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предыдущим четырём пользователям. Такое, или похожее случается, когда вы правите код в форме открытой в режиме формы. Слетает один из уровней компиляции. Специалисты пишут что количество уровней компиляции в Access Может достигать 11. Я в этом случае пользуюсь модулем очистки от мусора Юрия Шермана, ну или своей модификацией этого модуля.
Модуль Юрия Шермана
моя доработка
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39729527
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss . Такое, или похожее случается, когда вы правите код в форме открытой в режиме формы.
Да я этим регулярно грешу.....
В основной(довольно большой и сложной) базе - нифига не происходит....
Создал маленькую еще одну для других целей- и понеслась...
Возможно дело в том, что основная база создана была очень давно, я ее просто открыл и пересохранил.....
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39729529
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311Создал маленькую еще одну для других целей- и понеслась...
Создал правой кнопкой мыши в проводнике ?
Если так - то это старые грабли, создавай пустые базы через меню акцесса (файл, создать, пустая бд...)
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39729546
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagSerg197311Создал маленькую еще одну для других целей- и понеслась...
Создал правой кнопкой мыши в проводнике ?
Если так - то это старые грабли, создавай пустые базы через меню акцесса (файл, создать, пустая бд...)
Спасибо, запомню..... Но как создавал - уже и не помню....
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39729695
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, добрый день. дада именно так и было. не думал, что есть взаимосвязь. понял. буду закрывать формы при правке в них когда или переводить в режим конструктора. Спасибо за совет
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39736151
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для любопытных от Даниэля Пино.

Поскольку Microsoft не хочет давать пользователям FREELY сообщения об ошибках, я решил создать эту страницу, чтобы начать собирать информацию о проблемах
https://www.devhut.net/ms-access-bug-listing/
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39809858
Фотография avedeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТеньОтцаГамлета, а вот так подумаешь...ну его этот нативный код...ведь может так статься...вот остался
шаг или два до финала разработки и тут перед тобой встает Проблема из темных глубин кода Access и
говорит ..."Куда прешь...не положено...приехали...вылезай"

Так может сразу пойти в Web...там столько вариантов...или в 1С...ERP...там даже переменные можно
на кириллице...может ну его ...этот путь Самурая...вот читаешь повести Ходивших в Access ...
и как то ...страшновато
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Баги Access (топик не закрыт, можно добавлять)
    #39968390
Havanka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть база аксеса.accdb
Которую я 2й год вояю ))
И бух выключила питание сервака.
и я при открытие базы увидел такую надпись

не удалось внести изменения из-за посторяющихся значениях в индексе, первичном ключе или связях.
Измените данные в одном или нескольких полях, содержащих повторяющиеся значения, удалите индекс или переопределите его, разрешив повторяющиеся значения и повторите попытку.

Ну я сначала думал,
1) пересоберу заново в другую базу забрав формы - нихрена, базу не открывает дя импорта
2) Загуглю найду проблему решиться - нихрена везде ответы по таблицам и т.д. База открывается они могут ее редактировать.

В итоге у меня нередактируемая база а просто 50 метров разделенной базы которую я не могу даже открыть.
такой проблемы по открытию не нашел

База разделена, все таблицы как отдельную базу я открыть могу, формы не могу открыть. И причем тут интексы не понятно.

С учетом всеговышесказанного считаю это багом причем не описанным
Если кто найдет инфу как лечить буду бллагодарен
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #39969585
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще один косяк Акцесса. Двойное обращение к хранимке на MS SQL сервере.

Для воспроизведения:

Особенности Акцесса
'пример, демонстрирующий, что открытие рекордсета с запросом в виде "SELECT .. FROM sql_запрос", который обращается к хранимой процедуре, вызовет эту хранимку ДВАЖДЫ
'Возможно, что аналогично происходит не только с обращением к хранимке, но и с любым SELECT`ом
'В приведенном примере после каждого вызова в таблицу добавляется 2 записи, хотя в хранимке происходит добавление только одной записи
'При этом вывод результатов происходит именно для результата первого запуска хранимки, а не второго.

На MS SQL сервере выполняем
1.Создаем таблицу
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE [dbo].[_ttt](
	[ffrom] [nvarchar](128) NULL,
	[dtCrt] [datetime] NULL,
	[kdz] [int] NULL
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[_ttt] ADD  CONSTRAINT [DF__ttt_dtCrt]  DEFAULT (getdate()) FOR [dtCrt]
GO



2. Создаем хранимку
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE PROCEDURE _TmpTest
AS
BEGIN
	-- exec _TmpTest
	-- select * from [_ttt] order by dtcrt
	--delete from [_ttt]
	
	SET NOCOUNT ON;
  INSERT INTO [_ttt]([kdz])
  values (1)
  
  select COUNT(*)as cnt from [_ttt]
END
GO
grant execute on _TmpTest TO Public
GO



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.
Public Function editSQLquery(QName As String, stSQL As String, Optional TimeOut As Long = 60) As Boolean

  Dim dbsTMP As DAO.database
  Dim qdfTMP As DAO.QueryDef
  On Error GoTo ErrHandler
  Const prcName As String = "editSQLquery"
  del_tmp_tbl_all
  
  Set dbsTMP = CurrentDb
  Set qdfTMP = dbsTMP.QueryDefs(QName)
  qdfTMP.sql = stSQL
  qdfTMP.ODBCTimeout = TimeOut
  Debug.Print stSQL

Success:
  editSQLquery = True

mEx:
    Set qdfTMP = Nothing
    Set dbsTMP = Nothing
    Exit Function

ErrHandler:
  msgbox Err.Description 'ErrorSave mdlName, prcName, Err.number, "(" & Err.Description & ")" & vbCrLf & "в процедуре " & prcName & " of Module " & mdlName, stSQL
  Resume mEx
  Resume
End Function



4. В БД Акцесс создаем процедуры для теста
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Public Function tmpTest() As Long
  Dim rst As DAO.Recordset
  'пример, демонстрирующий, что открытие рекордсета с запросом в виде "SELECT .. FROM запрос", который обращается к хранимой процедуре, вызовет эту хранимку дважды
	'Возможно, что аналогично происходит не только с обращением к хранимке, но и с любым SELECT`ом
  'В приведенном примере после каждого вызова в таблицу добавляется 2 записи, хотя в хранимке происходит добавление только одной записи
  'При этом вывод результатов происходит именно для результата первого запуска хранимки, а не второго.
  editSQLquery "sql_Any", "exec _TmpTest"
  
  Set rst = CurrentDb.OpenRecordset("SELECT * FROM sql_Any", dbOpenSnapshot)
  'После этого вызова в базе уже 2 строки в таблице [_ttt], а рекордсет вернет значение 1. После следующего вызова он вернет значение 3, потом 5

  If rst.RecordCount <= 0 Then
    MsgBox "Нет данных!", vbExclamation, NameApp
    Exit Function
  End If
  Debug.Print rst!Cnt
End Function



и

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function tmpTest2() As Long
  Dim sql As String, NeedVozvr As Boolean, N As Long
  Dim rst As DAO.Recordset

  editSQLquery "sql_Any", "exec _TmpTest"
  
  'А вот такое обращение выполнит хранимку один раз
  Set rst = CurrentDb.OpenRecordset("sql_Any", dbOpenSnapshot)
  If rst.RecordCount <= 0 Then
    MsgBox "Нет данных!", vbExclamation, NameApp
    Exit Function
  End If
  Debug.Print rst!Cnt
End Function
...
Рейтинг: 0 / 0
20 сообщений из 370, страница 15 из 15
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Баги Access (топик не закрыт, можно добавлять)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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