|
|
|
| Здравствуйте!
Объясните ожалуйста, при портфельной репликации можно поменять приоритет, то есть что бы приоритет был у обновления, а не у удаления? (когда синхронизирую базы, из основной удаляется все то, что было удалено из реплики для того, что бы реплика весила меньше и чтобы те, кто пользуется репликой, не видели информации, которая уже содержится в основной базе).
И еще вопрос: объясните пожалуйста, в чем заключается репликация баз данных Access и чем она отличается от портфельной репликации. Пыталась найти в книжках, но там пишут как-то совсем непонятно, а в интернете в основном статьи из учебника по Access 2002, там тоже как-то непонятно написано. | |
|
| |
|
|
|
| Портфельная репликация тупо заменяет один файл другим, не разбираясь в записях.
Репликация ACCESS тоже штука не простая
Почитайте вот это
http://www.vedu.ru/programming/ABR_soft/contreplfaq.htm
и это
http://office.microsoft.com/ru-ru/access/CH062526841049.aspx | |
|
| |
|
|
|
| Спасибо большое. Стало немного понятнее.
Только появился еще вопрос: если я сделаю репликацию базы данных с помощью меню Сервис>Репликация, создастся ли автоматически код репликации на VBA и может быть можно будет уже готовый код просто исправить, или нужно написать кусок кода, осуществляющий репликацию, вручную? | |
|
| |
|
|
|
| VBA кода репликации не появится.
Появятся дополнительные поля в таблицах. | |
|
| |
|
|
|
|
| И снова здравствуйте!!!
Посмотрите пожалуйста, что я могла сделать неправильно:
Код написала такой:
Call SynchronizeDBs("D:\Юля\работа\db2.mdb", "F:\Реплика для db2.mdb", 3)
Sub SynchronizeDBs(strDBName As String, strSyncTargetDB As String, intSync As Integer)
Dim dbs As Database
Set dbs = DBEngine(0).OpenDatabase(strDBName)
Select Case intSync
Case 1 ' Синхронизация реплик (двухсторонний обмен)
dbs.Synchronize strSyncTargetDB, dbRepImpExpChanges
Case 2 ' Синхронизация реплик (экспорт изменений)
dbs.Synchronize strSyncTargetDB, dbRepExportChanges
Case 3 ' Синхронизация реплик (импорт изменений)
dbs.Synchronize strSyncTargetDB, dbRepImportChanges
End Select
dbs.Close
End Sub
Вместо адрес 1 написан адрес основной реплики на диске, вместо адрес 2 - адрес реплики. находящейся на флешке. При компиляции (по нажатию в меню Debug >Compile выдает ошибку Compile error: Invalid outside procedur, и выделяет темным первый адрес, указанный в скобках Call SynchronizeDBs("адрес 1", "адрес 2", 3).
Подскажите пожалуйста, где я могла ошибиться. Этот кусок программы скопировала с сайта, от себя дописала, пожалуй, только адреса.
Единственная мысль на счет того, откуда может появиться ошибка: я написала этот кусок кода как отдельный модуль. Может нужно куда-то вызов это процедуры написать в другое место. например привязать к какому-то событию или какой-то кнопке? | |
|
| |