Compartilhar via


Método Database.CreateProperty (DAO)

Aplica-se ao: Access 2013, Office 2013

Cria um novo objeto Property definido pelo usuário (apenas espaços de trabalho do Microsoft Access). .

Sintaxe

expressão . CreateProperty(Name, Type, Value, DDL)

expressão Uma variável que representa um objeto do Banco de dados.

Parâmetros

Nome

Necessária/opcional

Tipo de dados

Descrição

Name

Opcional

Variant

Uma String que denomina exclusivamente o novo objeto Property. Consulte a propriedade Name para obter detalhes sobre nomes válidos de Property.

Type

Opcional

Variant

Uma constante que define o tipo de dados do novo objeto Property. Consulte a propriedade Type para obter tipos de dados válidos.

Valor

Opcional

Variant

Um Variant que contém o valor inicial da propriedade. Consulte a propriedade Value para obter detalhes.

DDL

Opcional

Variant

Um Variant (subtipo Boolean) que indica se Property é ou não um objeto DDL. O padrão é False. Se o DDL for True, os usuários não poderão alterar ou excluir esse objeto Property , a menos que tenham permissão dbSecWriteDef.

Valor de retorno

Propriedade

Comentários

Você pode criar um objeto Property definido pelo usuário na coleção Properties de um objeto que é persistente.

Se você omitir uma ou mais das partes opcionais ao utilizar CreateProperty, poderá usar uma instruções de atribuição apropriada para definir ou redefinir a propriedade correspondente antes de acrescentar o novo objeto a uma coleção. Depois de acrescentar o objeto, você poderá alterar algumas, mas não todas, as configurações de propriedade. Consulte os tópicos de propriedade Name, Type e Value para obter mais detalhes.

Se o nome se referir a um objeto que já é um membro da coleção, ocorrerá um erro em tempo de execução ao usar o método Append .

Para remover um objeto Property definido pelo usuário da coleção, use o método Delete na coleção Properties. Não é possível excluir propriedades internas.

Observação

Se você omitir o argumento DDL, ele será padrão para False (não DDL). Como nenhuma propriedade DDL correspondente está exposta, você deve excluir e recriar o objeto Property que deseja alterar de DDL para não-DDL.

Exemplo

Este exemplo tenta definir o valor de uma propriedade definida pelo usuário. Se a propriedade não existir, será usado o método CreateProperty para criar e definir o valor da nova propriedade. O procedimento SetProperty é exigido para a execução deste procedimento.

    Sub CreatePropertyX() 
     
       Dim dbsNorthwind As Database 
       Dim prpLoop As Property 
     
       Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     
       ' Set the Archive property to True. 
       SetProperty dbsNorthwind, "Archive", True 
        
       With dbsNorthwind 
          Debug.Print "Properties of " & .Name 
           
          ' Enumerate Properties collection of the Northwind  
          ' database. 
          For Each prpLoop In .Properties 
             If prpLoop <> "" Then Debug.Print "  " & _ 
                prpLoop.Name & " = " & prpLoop 
          Next prpLoop 
     
          ' Delete the new property since this is a  
          ' demonstration. 
          .Properties.Delete "Archive" 
     
          .Close 
       End With 
     
    End Sub 
     
    Sub SetProperty(dbsTemp As Database, strName As String, _ 
       booTemp As Boolean) 
     
       Dim prpNew As Property 
       Dim errLoop As Error 
     
       ' Attempt to set the specified property. 
       On Error GoTo Err_Property 
       dbsTemp.Properties("strName") = booTemp 
       On Error GoTo 0 
     
       Exit Sub 
     
    Err_Property: 
     
       ' Error 3270 means that the property was not found. 
       If DBEngine.Errors(0).Number = 3270 Then 
          ' Create property, set its value, and append it to the  
          ' Properties collection. 
          Set prpNew = dbsTemp.CreateProperty(strName, _ 
             dbBoolean, booTemp) 
          dbsTemp.Properties.Append prpNew 
          Resume Next 
       Else 
          ' If different error has occurred, display message. 
          For Each errLoop In DBEngine.Errors 
             MsgBox "Error number: " & errLoop.Number & vbCr & _ 
                errLoop.Description 
          Next errLoop 
          End 
       End If 
     
    End Sub