Insira valores padrão em uma coluna (db de acesso)

votos
3

Como posso fazer para inserir um valor padrão para uma coluna de uma tabela no Access? Eu uso essa instrução:

ALTER TABLE Tabella ADD Campo Double DEFAULT 0
ALTER TABLE Tabella ADD Campo Double DEFAULT (0)
ALTER TABLE Tabella ADD Campo DEFAULT 0
ALTER TABLE Tabella ADD Campo DEFAULT (0)
ALTER TABLE Tabella ADD Campo SET DEFAULT 0
ALTER TABLE Tabella ADD Campo SET DEFAULT (0)

mas todos estes causam erro. Como posso fazer para fazê-lo?

Publicado 09/12/2008 em 15:53
fonte usuário
Em outras línguas...                            


4 respostas

votos
2

De MSDN :

A declaração padrão pode ser executada somente por meio do provedor de acesso OLE DB e ADO. Ele irá retornar uma mensagem de erro se usado através da interface de usuário do Access SQL View.

Sooo ... diga-nos mais sobre o que você está fazendo e como você está executando o SQL?

E porque você não está usando o designer de mesa?

Respondeu 09/12/2008 em 15:59
fonte usuário

Respondeu 09/12/2008 em 15:58
fonte usuário

votos
0

Eu tenho essa função típica acesso para adicionar novos valores campos + padrão para acessar tabelas :. O campo é adicionado se não já existe na tabela.

Public Function addNewField( _
    m_tableName as string, _
    m_fieldName As String, _
    m_fieldType As Long, _      'check syntax of .createField method for values'
    m_fieldLength As Long, _    'check syntax of .createField method for values'
    Optional m_defaultValue As Variant = Null)

Dim myTable As DAO.TableDef
Dim myField As DAO.Field

On Error GoTo addNewField_error

Set myTable = currentDb.TableDefs(m_tableName)
Set myField = myTable.CreateField(m_fieldName, m_fieldType, m_fieldLength)

If Not IsNull(m_defaultValue) Then
    myField.DefaultValue = m_defaultValue
End If

myTable.Fields.Append myField

Set myTable = Nothing
Set myField = Nothing

Exit Function

addNewField_error:
If Err.Number = 3191 Or Err.Number = 3211 Then
    'The field already exists or the table is opened'
    'nothing to do but exit the function'
Else
    debug.print Err.Number & " - " & Error$
End If

End Function
Respondeu 09/12/2008 em 16:31
fonte usuário

votos
0

Você não inserir um novo valor padrão, você precisa alterar o existente.

Primeiro switch de acesso a um sabor SQL são, como na resposta ligada acima, então você pode dizer:

alter table Tabella alter column Campo Double DEFAULT 0
Respondeu 09/12/2008 em 16:06
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more