Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос базы на другой комп / 10 сообщений из 10, страница 1 из 1
06.01.2004, 14:13
    #32369458
roman10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
Сделал простенькую базу, пара таблиц и форма. На моем компе компе все работатет нормально. Переношу на другой - начинается:

1) все функции работы со строками в упор не видит, помог префикс VBA.;
2) функцию Date() вообще позабыл, пришлось заменить на Now(), но это плохо;
3) функции UCase(), LCase() пересатли работать.

Что может быть за фигня?

Везде стоит Access 2000, возможно даже с одного дистрибутива (правда не уверен). В чем может быть проблема?
...
Рейтинг: 0 / 0
06.01.2004, 14:15
    #32369462
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
ссылки проверьте
...
Рейтинг: 0 / 0
06.01.2004, 14:16
    #32369463
Allll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
Неправильно указаны ссылки.
Сервис/Ссылки и в списке доступны ссылок будет надпись "не найдено" или что-то типа этого.
Отключите ненужную ссылку и всё устроится.
...
Рейтинг: 0 / 0
06.01.2004, 16:16
    #32369632
roman10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
Спасибо, нашел какойто missing: Microsoft AcitvieX controls, после отключения все заработало.

Тогда вопрос вдогонку:
можно ли как-нибудь из VBA убедиться, что все ссылки стоят правильно и переправить их в случае чего? Чтобы пользователь, не понимающий в Access'е мог-бы самостоятельно развернуть базу на своей машине и не париться со всякими ссылками?
...
Рейтинг: 0 / 0
06.01.2004, 16:19
    #32369636
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
Если ссылка действительно лишняя, то ее надо с самого начала убрать. А если нет, то лучше дать юзеру возможность стирать по своему вкусу модули и таблицы, эффект будет больше.
...
Рейтинг: 0 / 0
06.01.2004, 16:23
    #32369642
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
2 Саныч
...
Рейтинг: 0 / 0
06.01.2004, 17:14
    #32369691
Allll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
можно ли как-нибудь из VBA убедиться, что все ссылки стоят правильно и переправить их в случае чего?

Можно посмотреть в цикле все ссылки:
Код: plaintext
1.
Application.References.Count - количество ссылок
Application.References(i).FullPath - путь к ссылке

Проверял в цикле все нужные ссылки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
On Error Resume Next    ' после удаления ссылки на OCX
                        ' может появляться сообщение об ошибке
                        ' при обращении к свойству .FullPath
For i =  1  To Application.References.Count
   With Application.References(i)
      qqq = qqq & UCase$(GetShortPathName(.FullPath)) & vbCrLf
      If OCX_FullPath = UCase$(GetShortPathName(.FullPath)) Then
         OCX_Find = i
         Exit For
      End If
   End With
Next i
On Error GoTo  0 

Сейчас под рукой нет ни одной базы с неправильными ссылками :), но видимо будет ошибка при обращении к свойству FullPath для неправильной ссылки.
По каким-то причинам путь к выдавался длинным или коротким, поэтому приводил к короткому с помощью API-функции GetShortPathName

переправить их в случае чего

Переправить можно, но кажется только в mdb-файле.
Пример из справки Access 97:
Код: plaintext
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.
Следующий пример создает ссылку на указанную библиотеку типов:

Function ReferenceFromFile(strFileName As String) As Boolean
	Dim ref As Reference

	On Error GoTo Error_ReferenceFromFile
	Set ref = References.AddFromFile(strFileName)
	ReferenceFromFile = True

Exit_ReferenceFromFile:
	Exit Function

Error_ReferenceFromFile:
	MsgBox Err &  ": "  & Err.Description
	ReferenceFromFile = False
	Resume Exit_ReferenceFromFile
End Function

Для вызова данной функции допустимо использование процедуры,
сходной с нижеследующей, создающей ссылку на элемент управления Календарь:

Sub CreateCalendarReference()
	If ReferenceFromFile( "C:\Windows\System\Mscal.ocx" ) = True Then
		MsgBox  "Указатель установлен успешно." 
	Else
		MsgBox  "Указатель не был успешно установлен." 
	End If
End Sub


Занимался этим давно, поэтому пишу "кажется".
Когда-то попал в аналогичную ситуацию и сейчас "бдю" - никаких лишних ссылок нет (наигрался уже).
...
Рейтинг: 0 / 0
06.01.2004, 17:20
    #32369701
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
но видимо будет ошибка при обращении к свойству FullPath для неправильной ссылки.
Интересно, а для кого придумали св-во IsBroken?
...
Рейтинг: 0 / 0
06.01.2004, 17:26
    #32369710
Allll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
Интересно, а для кого придумали св-во IsBroken?
Для тех, кто про него читал в справке :)
...
Рейтинг: 0 / 0
07.01.2004, 13:03
    #32369934
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос базы на другой комп
При неправлильных ссылках программа просто может не дойти до их проверки.
Было и такое, что проверка IsBroken не помогала.
Вариантов много, может не быть ссылки в реестре, может быть ссылка, но отсутствует файл, может быть и файл, но не той версии.
И, конечно, лишних ссылок просто не должно быть...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос базы на другой комп / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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