Insertar valores predeterminados en una columna (acceder a db)

votos
3

¿Cómo puedo hacer para insertar un valor predeterminado en una columna de una tabla en Access? Yo uso esta instrucción:

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)

pero todos estos causan errores. ¿Cómo puedo hacer para hacerlo?

Publicado el 09/12/2008 a las 15:53
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
2

Desde MSDN :

La instrucción DEFAULT solo se puede ejecutar a través del proveedor de Access OLE DB y ADO. Devolverá un mensaje de error si se utiliza a través de la interfaz de usuario Access SQL View.

Entonces ... cuéntanos más sobre lo que estás haciendo y cómo estás ejecutando tu SQL.

¿Y por qué no usas el diseñador de mesas?

Respondida el 09/12/2008 a las 15:59
fuente por usuario

Respondida el 09/12/2008 a las 15:58
fuente por usuario

votos
0

Tengo esta función de acceso típica para agregar nuevos campos + valores predeterminados a las tablas de acceso: El campo se agrega si aún no existe en la tabla.

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
Respondida el 09/12/2008 a las 16:31
fuente por usuario

votos
0

No inserta un nuevo valor predeterminado, necesita modificar el existente.

Primero, cambie el acceso a un estilo de SQL sano, como en la respuesta vinculada anteriormente, luego puede decir:

alter table Tabella alter column Campo Double DEFAULT 0
Respondida el 09/12/2008 a las 16:06
fuente por usuario

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