Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: что за процедура?
 
 автор: rudi4   (09.11.2010 в 09:15)   личное сообщение
 
 

Я по сети открываю базу нормально. Но почему-то на других компах пишет, что база доступна тока для чтения и ругается на процедуру
Public Sub ClearTablesRef()
Dim dbs As Database, tdf As TableDef
Dim sSS As Variant, k As Integer
Set dbs = CurrentDb
999:
For Each tdf In dbs.TableDefs
sSS = tdf.Connect
If Len(sSS) > 0 Then
dbs.TableDefs.Delete (tdf.Name)
GoTo 999
End If
Next tdf
End Sub

эта процедура в AutoPatch-е находится

  Ответить  
 
 автор: osmor   (09.11.2010 в 10:47)   личное сообщение
 
 

возможно кто-то открывает базу монопольно, возможно нехватает каких-то прав (или в самой базе или в ОС на файл). Возможно в это время открыта таблица (или форма или запрос) которые используют данные из таблиц которые вы пытаетесь удалить.

  Ответить  
 
 автор: Stanislav   (10.11.2010 в 09:34)   личное сообщение
 
 

Процедура ClearTablesRef() удаляет из Access информацию обо всех подключенных таблицах (dbs.TableDefs.Delete (tdf.Name)). Но проблема не в ней.
Я же вам писал пару дней назад: папку с серверной частью надо шарить именно с правами на запись. Иначе при первой попытке открыть БД Аксесс обнаружит, что не может создать в папке файл блокировок *.laccdb и откроет базу в монопольном режиме - другие пользователи уже не смогут подключиться к БД.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList