Вставить значения по умолчанию в колонке (дб доступа)

голоса
3

Как я могу сделать для вставки Значения по умолчанию в столбец таблицы в 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)

но все они вызывают ошибку. Как я могу сделать за это?

Задан 09/12/2008 в 15:53
источник пользователем
На других языках...                            


4 ответов

голоса
2

Из MSDN :

Заявление DEFAULT может быть выполнена только через провайдера доступа OLE DB и ADO. Она возвращает сообщение об ошибке, если используется через SQL Access View пользовательского интерфейса.

Тааак ... расскажите нам о том, что вы делаете и как вы выполнение вашего SQL?

И почему вы не с помощью конструктора таблицы?

Ответил 09/12/2008 в 15:59
источник пользователем

Ответил 09/12/2008 в 15:58
источник пользователем

голоса
0

У меня есть эта типичная функция доступа для добавления новых значений полей + по умолчанию для доступа к таблицам :. Поле добавляется, если он уже не существует в таблице.

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
Ответил 09/12/2008 в 16:31
источник пользователем

голоса
0

Вы не вставить новое значение по умолчанию, вам необходимо изменить существующий.

Первый переключатель Доступ к здравой SQL привкусу, как в ответе, указанном выше, то вы можете сказать:

alter table Tabella alter column Campo Double DEFAULT 0
Ответил 09/12/2008 в 16:06
источник пользователем

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