Vložit výchozí hodnoty ve sloupci (přístupová db) o

hlasů
3

Jak mohu udělat pro vložení výchozí hodnotu do sloupce tabulky v aplikaci Access? Používám tento pokyn:

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 všechny z nich způsobí chybu. Jak mohu udělat pro to dělá?

Položena 09/12/2008 v 15:53
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
2

Z MSDN :

Příkaz DEFAULT lze provést pouze prostřednictvím poskytovatele připojení OLE DB a ADO. To vrátí chybovou zprávu, pokud jsou používány prostřednictvím uživatelského rozhraní Access SQL View.

Tááák ... řekněte nám více o tom, co děláte a jak jste vykonávající svou SQL?

A proč ne pomocí návrháře tabulek?

Odpovězeno 09/12/2008 v 15:59
zdroj uživatelem

Odpovězeno 09/12/2008 v 15:58
zdroj uživatelem

hlasů
0

Mám takovou typickou funkci přístup k přidání nových polí + výchozí hodnoty pro přístup tabulek :. Pole se přidá-li se to v tabulce není již existuje.

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
Odpovězeno 09/12/2008 v 16:31
zdroj uživatelem

hlasů
0

Nemusíte vložit novou výchozí hodnotu, budete muset měnit stávající.

První přepínač Přístup k rozumnému SQL příchutí, jako je tomu v odpovědi odkazovaných výše, pak můžete říct:

alter table Tabella alter column Campo Double DEFAULT 0
Odpovězeno 09/12/2008 v 16:06
zdroj uživatelem

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