powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка "Невозможно использовать файл" в многопользовательском режиме (access)
4 сообщений из 4, страница 1 из 1
Ошибка "Невозможно использовать файл" в многопользовательском режиме (access)
    #39520627
dormio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые знатоки!

Есть разделенная база (файл с таблицами в сетевой папке и файл с формами и кодом на компе у пользователя).
Для одной из форм обрабатывается событие Таймер (код найден где-то здесь на форуме, используется для того, чтобы принудительно выбрасывать пользователей из программы).

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub Form_Timer()
Dim AbortNow As Boolean
 
  AbortNow = Nz(DLookup("ExitNow", "Abort"), False)
  
  If AbortCounter > 0 And AbortNow Then
    Application.Quit                                 'Выходим из программы.
  End If

  If AbortNow Then                                 'Выводим предупреждение и ждём дальше.
    AbortCounter = AbortCounter + 1          'Теперь, при следующем срабатывании таймера, сработает выход из программы.
    DoCmd.OpenForm "frmExit"                  'Покажем форму - преупреждение.
  End If
End Sub


Периодически (часто) у какого-нибудь пользователя выскакивает ошибка "Невозможно использовать (путь и имя сетевого файла с таблицей Abort); файл уже используется. "
Остановка происходит на строке: AbortNow = Nz(DLookup("ExitNow", "Abort"), False)

Папка доступна всем пользователям на чтение и запись (около 40 чел). Подозреваю, что такое происходит в тот момент, когда одновременно два (или более) пользователя обращаются к таблице Abort. Событие Таймер происходит с периодичностью 30 сек.

Натолкните, в какую сторону смотреть?
...
Рейтинг: 0 / 0
Ошибка "Невозможно использовать файл" в многопользовательском режиме (access)
    #39520663
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В настройках Access-а нужно убрать галку с блокировки таблиц при открытии.
...
Рейтинг: 0 / 0
Ошибка "Невозможно использовать файл" в многопользовательском режиме (access)
    #39520665
dormio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F, в настройках стоит "Блокировка по умолчанию" - "отсутствует"
...
Рейтинг: 0 / 0
Ошибка "Невозможно использовать файл" в многопользовательском режиме (access)
    #39522250
Вакшуль Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dormio, добавьте обработку ошибки:

Код: 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.
Option Compare Database
Option Explicit

Dim AbortCounter As Long
Dim defaultInterval As Long

Private Sub Form_Open(Cancel As Integer)
    defaultInterval = Me.TimerInterval
End Sub

Private Sub Form_Timer()
Dim AbortNow As Boolean

On Error Resume Next
    AbortNow = Nz(DLookup("ExitNow", "Abort"), False)
    If Err <> 0 Then
        On Error GoTo 0
        Me.TimerInterval = 2000
        Exit Sub
    End If
    On Error GoTo 0
    Me.TimerInterval = defaultInterval
    
    If Not AbortNow Then
        AbortCounter = 0
        On Error Resume Next
        DoCmd.Close acForm, "frmExit"
        On Error GoTo 0
        Exit Sub
    End If
    
    If AbortCounter > 0 Then Application.Quit
    AbortCounter = AbortCounter + 1
    DoCmd.OpenForm "frmExit"
    
End Sub



т.е. если возникает ошибка при обращении, то делаем паузу на 2 секунды, потом продолжаем.
Кстати, у вас форма frmExit могла открыться, а если бы администратор до следующего срабатывания таймера изменил бы в таблице Abort значение поля ExitNow на False, то форма ExitNow не по делу бы осталось открытой.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка "Невозможно использовать файл" в многопользовательском режиме (access)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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