|
автор: 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: раньше в базе не выполняется ниодин код а это не важно в вашем случае. Если битая ссылка не будет отключаться, то какая разница, когда выполняется этот код.
А опыт показывает, что так бывает, поэтому зачем рисковать. | |
|
| |