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