Поделиться через


Свойство 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 и обратная связь.