Поделиться через


Свойство Database.DesignMasterID (DAO)

Область применения: Access 2013, Office 2013

Задает или возвращает 16-байтовое значение, которое однозначно идентифицирует конструктор конструктора в наборе реплика (только для рабочих областей Microsoft Access).

Синтаксис

expression . DesignMasterID

выражение: переменная, представляющая объект Database.

Замечания

Свойство DesignMasterID следует задавать только в том случае, если необходимо переместить текущий мастер конструктора. Задание этого свойства создает определенный реплика в реплика задать мастер конструктора.

Примечание.

Никогда не создавайте второй главный конструктор в наборе реплика. Наличие второго образца конструктора может привести к потере данных.

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

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

Если вы сделаете реплика, предназначенный только для чтения, в мастер конструктора целевой реплика будет выполнено чтение и запись; старый мастер конструктора также остается для чтения и записи.

Параметр свойства DesignMasterID хранится в системной таблице MSysRepInfo.

Пример

В этом примере свойству DesignMasterID присваивается параметр свойства ReplicaID другой базы данных, что делает эту базу данных образцом конструктора в наборе реплика. Старые и новые образцы конструкторов синхронизируются для обновления изменений в дизайне. Чтобы этот код работал, необходимо создать мастер конструктора и реплика, указать их имена и пути соответствующим образом и выполнить этот код из базы данных, отличной от старого или нового образца конструктора.

 Sub SetNewDesignMaster(strOldDM as String, _ 
    strNewDM as String) 
    
    Dim dbsOld As Database 
    Dim dbsNew As Database 
    
    ' Open the current Design Master in exclusive mode. 
    Set dbsOld = OpenDatabase(strOldDM, True) 
    
    ' Open the database that will become the new 
    ' Design Master. 
    Set dbsNew = OpenDatabase(strNewDM) 
    
    ' Make the new database the Design Master. 
    dbsOld.DesignMasterID = dbsNew.ReplicaID 
    
    ' Synchronize the old Design Master with the new 
    ' Design Master, and allow two-way exchanges. 
    dbsOld.Synchronize strNewDM, dbRepImpExpChanges 
    dbsOld.Close 
    dbsNew.Close 
 
 End Sub