DataUpdatable Property
Applies To
Field object.
Description
Returns a value that indicates whether the data in the field represented by a Field object is updatable.
Return Values
The return value is a Boolean data type that returns True if the data in the field is updatable.
Remarks
Use this property to determine whether you can change the Value property setting of a Field object. This property is always False on a Field object whose Attributes property is dbAutoIncrField.
You can use the DataUpdatable property on Field objects that are appended to the Fields collection of QueryDef, Recordset, and Relation objects, but not the Fields collection of Index or TableDef objects.
See Also
Attributes property, Updatable property, Value property.
Example
This example demonstrates the DataUpdatable property using the first field from six different Recordsets. The DataOutput function is required for this procedure to run.
Sub DataUpdatableX()
Dim dbsNorthwind As Database
Dim rstNorthwind As Recordset
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
With dbsNorthwind
' Open and print report about a table-type Recordset.
Set rstNorthwind = .OpenRecordset("Employees")
DataOutput rstNorthwind
' Open and print report about a dynaset-type Recordset.
Set rstNorthwind = .OpenRecordset("Employees", _
dbOpenDynaset)
DataOutput rstNorthwind
' Open and print report about a snapshot-type Recordset.
Set rstNorthwind = .OpenRecordset("Employees", _
dbOpenSnapshot)
DataOutput rstNorthwind
' Open and print report about a forward-only-type Recordset.
Set rstNorthwind = .OpenRecordset("Employees", _
dbOpenForwardOnly)
DataOutput rstNorthwind
' Open and print report about a Recordset based on
' a select query.
Set rstNorthwind = _
.OpenRecordset("Current Product List")
DataOutput rstNorthwind
' Open and print report about a Recordset based on a
' select query that calculates totals.
Set rstNorthwind = .OpenRecordset("Order Subtotals")
DataOutput rstNorthwind
.Close
End With
End Sub
Function DataOutput(rstTemp As Recordset)
With rstTemp
Debug.Print "Recordset: " & .Name & ", ";
Select Case .Type
Case dbOpenTable
Debug.Print "dbOpenTable"
Case dbOpenDynaset
Debug.Print "dbOpenDynaset"
Case dbOpenSnapshot
Debug.Print "dbOpenSnapshot"
Case dbOpenForwardOnly
Debug.Print "dbOpenForwardOnly"
End Select
Debug.Print " Field: " & .Fields(0).Name & ", " & _
"DataUpdatable = " & .Fields(0).DataUpdatable
Debug.Print
.Close
End With
End Function
Example (Microsoft Access)
The following example creates two Recordset objects, a dynaset-type Recordset object and a snapshot-type Recordset object, from the same table. The procedure then checks the DataUpdatable property for the LastName field in each Recordset object. The setting of the DataUpdatable property is True (–1) for the dynaset-type Recordset object, and False (0) for the snapshot-type Recordset object.
Sub CheckUpdatable()
Dim dbs As Database
Dim rstDynaset As Recordset, rstSnapshot As Recordset
Dim fldDynaset As Field, fldSnapshot As Field
' Return reference to current database.
Set dbs = CurrentDb
' Open dynaset-type Recordset object.
Set rstDynaset = dbs.OpenRecordset("Employees", dbOpenDynaset)
' Open snapshot-type Recordset object.
Set rstSnapshot = dbs.OpenRecordset("Employees", dbOpenSnapshot)
' Get Field object variables pointing to
' field in each Recordset object.
Set fldDynaset = rstDynaset.Fields!LastName
Set fldSnapshot = rstSnapshot.Fields!LastName
' Get current record.
rstDynaset.MoveFirst
rstSnapshot.MoveFirst
' Display value of DataUpdatable property for each
' Recordset object.
Debug.Print "DataUpdatable (Dynaset-type Recordset): "; _
fldDynaset.DataUpdatable
Debug.Print "DataUpdatable (Snapshot-type Recordset): "; _
fldSnapshot.DataUpdatable
rstDynaset.Close
rstSnapshot.Close
Set dbs = Nothing
End Sub