如何在Access中的表格列中插入默认值? 我用这个指令:
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)
但所有这些都会导致错误。我该怎么办呢?
答案 0 :(得分:2)
来自MSDN:
可以执行DEFAULT语句 只能通过Access OLE DB 提供者和ADO。它将返回一个 如果通过使用错误消息 访问SQL View用户界面。
Sooo ...告诉我们更多关于你在做什么以及你如何执行SQL的事情?
你为什么不使用表设计器?
答案 1 :(得分:1)
答案 2 :(得分:0)
您没有插入新的默认值,您需要更改现有的默认值。
首先切换访问一个理智的SQL风格,如上面链接的答案,然后你可以说:
alter table Tabella alter column Campo Double DEFAULT 0
答案 3 :(得分:0)
我有这个典型的Access函数来向Access表添加新字段+默认值:如果表中尚不存在该字段,则添加该字段。
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