Compartilhar via


Propriedade Field.DefaultValue (DAO)

Aplica-se ao: Access 2013, Office 2013

Define ou retorna o valor padrão de um objeto Field. Para um objeto Field ainda não acrescentado à coleção Fields, essa propriedade é de leitura/gravação (apenas espaços de trabalho do Microsoft Access).

Sintaxe

expressão . Defaultvalue

expressão Uma variável que representa um objeto de Campo.

Comentários

A configuração ou o valor de retorno é um tipo de dados String que pode conter no máximo 255 caracteres. Ele pode conter texto ou uma expressão. Se a configuração da propriedade for uma expressão, ela não poderá conter funções definidas pelo usuário, funções agregadas do mecanismo de banco de dados do Microsoft Access SQL ou referência a consultas, formulários ou outros objetos Field.

Observação

[!OBSERVAçãO] Você também pode definir a propriedade DefaultValue de um objeto Field em um objeto TableDef para um valor especial chamado "GenUniqueID( )". Isso faz com que um número aleatório seja atribuído a esse campo sempre que um novo registro é adicionado ou criado, fornecendo a cada registro um identificador exclusivo. A propriedade Type do campo de ver Long.

A disponibilidade da propriedade DefaultValue depende do objeto que contém a coleção Fields, conforme mostrado na tabela a seguir.

Se a coleção Fields pertencer a

DefaultValue será

Objeto Index

Sem suporte

Objeto QueryDef

Somente leitura

Objeto Recordset

Somente leitura

Objeto Relation

Sem suporte

Objeto TableDef

Leitura/gravação

Quando um novo registro é criado, a configuração da propriedade DefaultValue é automaticamente inserida como o valor para o campo. Você pode alterar o valor de campo definindo sua propriedade Value.

A propriedade DefaultValue não se aplica aos campos AutoNumber e Long Binary.

Exemplo

Este exemplo usa a propriedade DefaultValue para alertar o usuário de um valor normal de campo durante a solicitação de entrada. Além disso, ele demonstra como os novos registros serão preenchidos utilizando o DefaultValue na ausência de qualquer outra entrada. A função DefaultPrompt é exigida para que este procedimento seja executado.

    Sub DefaultValueX() 
     
     Dim dbsNorthwind As Database 
     Dim tdfEmployees As TableDef 
     Dim strOldDefault As String 
     Dim rstEmployees As Recordset 
     Dim strMessage As String 
     Dim strCode As String 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     Set tdfEmployees = dbsNorthwind.TableDefs!Employees 
     
     ' Store original DefaultValue information and set the 
     ' property to a new value. 
     strOldDefault = _ 
     tdfEmployees.Fields!PostalCode.DefaultValue 
     tdfEmployees.Fields!PostalCode.DefaultValue = "98052" 
     
     Set rstEmployees = _ 
     dbsNorthwind.OpenRecordset("Employees", _ 
     dbOpenDynaset) 
     
     With rstEmployees 
     ' Add a new record to the Recordset. 
     .AddNew 
     !FirstName = "Bruce" 
     !LastName = "Oberg" 
     
     ' Get user input. If user enters something, the field 
     ' will be filled with that data; otherwise, it will be 
     ' filled with the DefaultValue information. 
     strMessage = "Enter postal code for " & vbCr & _ 
     !FirstName & " " & !LastName & ":" 
     strCode = DefaultPrompt(strMessage, !PostalCode) 
     If strCode <> "" Then !PostalCode = strCode 
     .Update 
     
     ' Go to new record and print information. 
     .Bookmark = .LastModified 
     Debug.Print " FirstName = " & !FirstName 
     Debug.Print " LastName = " & !LastName 
     Debug.Print " PostalCode = " & !PostalCode 
     
     ' Delete new record because this is a demonstration. 
     .Delete 
     .Close 
     End With 
     
     ' Restore original DefaultValue property because this is a 
     ' demonstration. 
     tdfEmployees.Fields!PostalCode.DefaultValue = _ 
     strOldDefault 
     
     dbsNorthwind.Close 
     
    End Sub 
     
    Function DefaultPrompt(strPrompt As String, _ 
     fldTemp As Field) As String 
     
     Dim strFullPrompt As String 
     
     ' Ask user for new DefaultValue setting for the specified 
     ' Field object. 
     strFullPrompt = strPrompt & vbCr & _ 
     "[Default = " & fldTemp.DefaultValue & _ 
     ", Cancel - use default]" 
     DefaultPrompt = InputBox(strFullPrompt) 
     
    End Function