Wstawić domyślne wartości w kolumnie (dostęp db)

głosy
3

Jak mogę to zrobić do wstawiania domyślna wartość w kolumnie tabeli w programie Access? Używam tej instrukcji:

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)

ale wszystkie z nich spowodować błąd. Jak mogę zrobić, by to zrobić?

Utwórz 09/12/2008 o 15:53
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
2

Od MSDN :

Oświadczenie DEFAULT mogą być wykonywane tylko przez dostawcę dostępu OLE DB i ADO. zwróci komunikat o błędzie, jeśli używany przez interfejs użytkownika programu Access SQL Widok.

Taaak ... powiedz nam więcej o tym, co robisz i jak masz wykonujący swój SQL?

I dlaczego nie używasz kreatora tabel?

Odpowiedział 09/12/2008 o 15:59
źródło użytkownik

Odpowiedział 09/12/2008 o 15:58
źródło użytkownik

głosy
0

Mam ten typowy funkcji dostępu do dodawania nowych wartości domyślnych pól + dostęp do tabel :. Pole jest dodawane, jeśli nie istnieje już w tabeli.

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
Odpowiedział 09/12/2008 o 16:31
źródło użytkownik

głosy
0

Nie wstawić nową wartość domyślną, trzeba zmieniać istniejącego.

Pierwszy przełącznik Dostęp do sane smaku SQL, jako odpowiedź połączonego powyżej, można powiedzieć:

alter table Tabella alter column Campo Double DEFAULT 0
Odpowiedział 09/12/2008 o 16:06
źródło użytkownik

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