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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Вопрос про References
 
 автор: Romiras   (30.11.-1 в 00:00)
 
 

где-то на просторах сайто посвященных аксес тематике видел приложение которое пробегает по референсах и переподключает если те отсутствуют...

например у меня в базе есть стандартные дао 3.6, микрософт аксес Х-версии, микрософт версии....

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

приложение обсолютно не комерческое, но хотелось бы чтоб пользователь нормально сразу работал а не по мирку я проводил его как открыть базу как референсы поправить...скоро все друзья мои будут в аксесе специалистами...как набегут сюды, всех без работы оставят (шютка)

кто-то решал такую задачу?
Заранее спасибо

  Ответить  
 
 автор: Romiras   (30.11.-1 в 00:00)
 
 

РЕзультаты поисков блин ну не работал вчера ни форум, ни сам портал, вот что нашол порывшись у нас к этому времени:


Public Sub subRef()
ÎÁÍÎÂËÅÍÈÅ ÑÑÛËÎÊ
Dim sMy As String
Dim ref
On Error Resume Next
For Each ref In References
If ref.BuiltIn = False Then
sMy = ref.FullPath
References.Remove ref
References.AddFromFile (sMy)
End If
Next ref
End Sub

а это подсмотрел у Сергея Гаврилова, в его вьювере офлайн содержимого форума

Public Function ValidateReferences(strRefName As String) As Boolean
On Error GoTo Err_ValidateReferences
Dim ref As Access.Reference
For Each ref In Access.References
If ref.Name = strRefName Then
ValidateReferences = Not ref.IsBroken
If Dir(ref.FullPath) = "" Then
Application.References.Remove ref
ValidateReferences = False
End If
End If
Next ref
Exit_ValidateReferences:
Exit Function
Err_ValidateReferences:
MsgBox Err.Number & " " & Err.Description
Resume Exit_ValidateReferences
End Function

пока еще не проверял

к сожелению мыло автора сообщения
http://hiprog.com/forum/forum.asp?action=show&id=2&messid=86541&fullview=0
не работает и это путь отрублен

будем искать дальше

  Ответить  
 
 автор: Romiras   (30.11.-1 в 00:00)
 
 

1 маленьки код проканал блин, но я таки полез в хелп читать про семейство референсов, надо сделать зарубку и не забыть освоить этот материал

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

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re: 1 маленьки код проканал 1. Не всегда удается отлючить ссылку, которая IsBroken.
2. При отсутствующих ссылках могут не работать стандартные VBA функции, поэтому до кода проверки References программа может и не дойти.

Интересным решением может быть вариант, когда в распространяемой mdb все ссылки отключены (естественно, которые можно отключить), а при первом запуске на клиентской машине код сначала проверяет отсутствие необходимых файлов библиотек и записывает их на диск, в случае их отсутствия, а также регистрирует необходимые библиотеки.

  Ответить  
 
 автор: Romiras   (30.11.-1 в 00:00)
 
 

скопировал в заметки я поставил выполнение в автоекзек, раньше в базе не выполняется ниодин код...может разве что какие-то скрытые системные....

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re: раньше в базе не выполняется ниодин код а это не важно в вашем случае. Если битая ссылка не будет отключаться, то какая разница, когда выполняется этот код.
А опыт показывает, что так бывает, поэтому зачем рисковать.

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