Свойство ComboBox.ColumnOrder (Access)
Используйте свойство ColumnOrder , чтобы указать порядок столбцов в представлении таблицы. Для чтения и записи, Integer.
Синтаксис
expression. ColumnOrder
Выражение Переменная, представляющая объект ComboBox .
Замечания
Чтобы задать или изменить это свойство для таблицы или запроса с помощью Visual Basic, необходимо использовать коллекцию свойств столбца. Дополнительные сведения об использовании коллекции Properties см. в разделе Свойства.
Свойство ColumnOrder недоступно в режиме конструктора.
Свойство ColumnOrder применяется ко всем полям в представлении таблицы и к элементам управления формы, когда форма находится в режиме таблицы.
В режиме таблицы параметр свойства ColumnOrder поля определяется положением поля. Например, поле в крайнем левом столбце в представлении таблицы имеет значение свойства ColumnOrder 1, следующее поле имеет значение 2 и т. д. При изменении свойства ColumnOrder поля свойство для этого поля и каждого поля сбрасывается слева от исходного положения в режиме таблицы.
В других представлениях значение свойства равно 0, если явно не изменить порядок одного или нескольких полей в режиме таблицы (путем перетаскивания полей в новые позиции или путем изменения их параметров свойства ColumnOrder ). Поля справа от новой позиции перемещаемого поля будут иметь значение 0 в представлениях, отличных от представления таблицы.
Порядок полей в режиме таблицы не влияет на порядок полей в режиме конструктора или формы таблицы.
Пример
В следующем примере поля ProductName и QuantityPerUnit отображаются в первых двух столбцах в представлении таблицы формы Products .
Forms!Products!ProductName.ColumnOrder = 1
Forms!Products!QuantityPerUnit.ColumnOrder = 2
В следующем примере поля ProductName и QuantityPerUnit отображаются в первых двух столбцах таблицы Products в представлении таблицы. Чтобы задать свойство ColumnOrder , в примере используется процедура SetFieldProperty . Если эта процедура выполняется во время открытия таблицы, изменения не будут отображаться до ее закрытия и повторного открытия.
Public Sub SetColumnOrder()
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Set dbs = CurrentDb
Set tdf = dbs!Products
' Call the procedure to set the ColumnOrder property.
SetFieldProperty tdf!ProductName, "ColumnOrder", dbLong, 2
SetFieldProperty tdf!QuantityPerUnit, "ColumnOrder", dbLong, 3
Set tdf = Nothing
Set dbs = Nothing
End Sub
Private Sub SetFieldProperty(ByRef fld As DAO.Field, _
ByVal strPropertyName As String, _
ByVal intPropertyType As Integer, _
ByVal varPropertyValue As Variant)
' Set field property without producing nonrecoverable run-time error.
Const conErrPropertyNotFound = 3270
Dim prp As Property
' Turn off error handling.
On Error Resume Next
fld.Properties(strPropertyName) = varPropertyValue
' Check for errors in setting the property.
If Err <> 0 Then
If Err <> conErrPropertyNotFound Then
On Error GoTo 0
MsgBox "Couldn't set property '" & strPropertyName & _
"' on field '" & fld.Name & "'", vbCritical
Else
On Error GoTo 0
Set prp = fld.CreateProperty(strPropertyName, intPropertyType, _
varPropertyValue)
fld.Properties.Append prp
End If
End If
Set prp = Nothing
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.