Объект ComboBox (Access)
Этот объект соответствует элементу управления поле со списком. Элемент управления "Поле со списком" объединяет в себе функции текстового поля и списка. Используйте поле со списком, если требуется ввести значение или выбрать значение из предопределенного списка.
Управление | Средство |
---|---|
В представлении формы Microsoft Access не отображает список, пока вы не щелкете стрелку поля со списком.
Если у вас есть мастера управления, прежде чем выбрать средство со списком, вы можете создать поле со списком с помощью мастера. Чтобы включить или отключить мастеры управления, щелкните инструмент Мастеры управления на панели элементов.
Параметр свойства LimitToList определяет, можно ли вводить значения, которых нет в списке.
Список может быть одним или несколькими столбцами, а столбцы могут отображаться с заголовками или без.
В следующем примере показано, как использовать несколько элементов управления ComboBox для предоставления условий для запроса.
Private Sub cmdSearch_Click()
Dim db As Database
Dim qd As QueryDef
Dim vWhere As Variant
Set db = CurrentDb()
On Error Resume Next
db.QueryDefs.Delete "Query1"
On Error GoTo 0
vWhere = Null
vWhere = vWhere & " AND [PymtTypeID]=" & Me.cboPaymentTypes
vWhere = vWhere & " AND [RefundTypeID]=" & Me.cboRefundType
vWhere = vWhere & " AND [RefundCDMID]=" & Me.cboRefundCDM
vWhere = vWhere & " AND [RefundOptionID]=" & Me.cboRefundOption
vWhere = vWhere & " AND [RefundCodeID]=" & Me.cboRefundCode
If Nz(vWhere, "") = "" Then
MsgBox "There are no search criteria selected." & vbCrLf & vbCrLf & _
"Search Cancelled.", vbInformation, "Search Canceled."
Else
Set qd = db.CreateQueryDef("Query1", "SELECT * FROM tblRefundData WHERE " & _
Mid(vWhere, 6))
db.Close
Set db = Nothing
DoCmd.OpenQuery "Query1", acViewNormal, acReadOnly
End If
End Sub
В следующем примере показано, как задать свойство RowSource поля со списком при загрузке формы. При отображении формы элементы, хранящиеся в поле Отделы поля со списком tblDepartment , отображаются в поле со списком cboDept .
Private Sub Form_Load()
Me.Caption = "Today is " & Format$(Date, "dddd mmm-d-yyyy")
Me.RecordSource = "tblDepartments"
DoCmd.Maximize
txtDept.ControlSource = "Department"
cmdClose.Caption = "&Close"
cboDept.RowSourceType = "Table/Query"
cboDept.RowSource = "SELECT Department FROM tblDepartments"
End Sub
В следующем примере показано, как создать поле со списком, привязанное к одному столбцу при отображении другого. Если для свойства ColumnCount задано значение 2, в поле со списком cboDept будут отображаться первые два столбца источника данных, заданного свойством RowSource . Если для свойства BoundColumn задано значение 1, то при проверке значения поля со списком будет возвращено значение, хранящееся в первом столбце.
Свойство ColumnWidths указывает ширину двух столбцов. Если задать ширину первого столбца в 0in., первый столбец не отображается в поле со списком.
Private Sub cboDept_Enter()
With cboDept
.RowSource = "SELECT * FROM tblDepartments ORDER BY Department"
.ColumnCount = 2
.BoundColumn = 1
.ColumnWidths = "0in.;1in."
End With
End Sub
В следующем примере показано, как добавить элемент в связанное поле со списком.
Private Sub cboMainCategory_NotInList(NewData As String, Response As Integer)
On Error GoTo Error_Handler
Dim intAnswer As Integer
intAnswer = MsgBox("""" & NewData & """ is not an approved category. " & vbcrlf _
& "Do you want to add it now?", vbYesNo + vbQuestion, "Invalid Category")
Select Case intAnswer
Case vbYes
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO tlkpCategoryNotInList (Category) " & _
"Select """ & NewData & """;"
DoCmd.SetWarnings True
Response = acDataErrAdded
Case vbNo
MsgBox "Please select an item from the list.", _
vbExclamation + vbOKOnly, "Invalid Entry"
Response = acDataErrContinue
End Select
Exit_Procedure:
DoCmd.SetWarnings True
Exit Sub
Error_Handler:
MsgBox Err.Number & ", " & Err.Description
Resume Exit_Procedure
Resume
End Sub
- AfterUpdate
- BeforeUpdate
- Change
- Click
- DblClick
- Dirty
- Enter
- Exit
- GotFocus
- KeyDown
- KeyPress
- KeyUp
- LostFocus
- MouseDown
- MouseMove
- MouseUp
- NotInList
- Undo
- AddColon
- AfterUpdate
- AllowAutoCorrect
- AllowValueListEdits
- Application
- AutoExpand
- AutoLabel
- BackColor
- BackShade
- BackStyle
- BackThemeColorIndex
- BackTint
- BeforeUpdate
- BorderColor
- BorderShade
- BorderStyle
- BorderThemeColorIndex
- BorderTint
- BorderWidth
- BottomMargin
- BottomPadding
- BoundColumn
- CanGrow
- CanShrink
- Column
- ColumnCount
- ColumnHeads
- ColumnHidden
- ColumnOrder
- ColumnWidth
- ColumnWidths
- Controls
- ControlSource
- ControlTipText
- ControlType
- DecimalPlaces
- DefaultValue
- DisplayAsHyperlink
- DisplayWhen
- Enabled
- EventProcPrefix
- FontBold
- FontItalic
- FontName
- FontSize
- FontUnderline
- FontWeight
- ForeColor
- ForeShade
- ForeThemeColorIndex
- ForeTint
- Format
- FormatConditions
- GridlineColor
- GridlineShade
- GridlineStyleBottom
- GridlineStyleLeft
- GridlineStyleRight
- GridlineStyleTop
- GridlineThemeColorIndex
- GridlineTint
- GridlineWidthBottom
- GridlineWidthLeft
- GridlineWidthRight
- GridlineWidthTop
- Height
- HelpContextId
- HideDuplicates
- HorizontalAnchor
- Hyperlink
- IMEHold
- IMEMode
- IMESentenceMode
- InheritValueList
- InputMask
- InSelection
- IsHyperlink
- IsVisible
- ItemData
- ItemsSelected
- KeyboardLanguage
- LabelAlign
- LabelX
- LabelY
- Layout
- LayoutID
- Left
- LeftMargin
- LeftPadding
- LimitToList
- ListCount
- ListIndex
- ListItemsEditForm
- ListRows
- ListWidth
- Locked
- Name
- NumeralShapes
- OldBorderStyle
- OldValue
- OnChange
- OnClick
- OnDblClick
- OnDirty
- OnEnter
- OnExit
- OnGotFocus
- OnKeyDown
- OnKeyPress
- OnKeyUp
- OnLostFocus
- OnMouseDown
- OnMouseMove
- OnMouseUp
- OnNotInList
- OnUndo
- Parent
- Properties
- ReadingOrder
- Recordset
- RightMargin
- RightPadding
- RowSource
- RowSourceType
- ScrollBarAlign
- Section
- Selected
- SelLength
- SelStart
- SelText
- SeparatorCharacters
- ShortcutMenuBar
- ShowOnlyRowSourceValues
- SmartTags
- SpecialEffect
- StatusBarText
- TabIndex
- TabStop
- Tag
- Text
- TextAlign
- ThemeFontIndex
- Top
- TopMargin
- TopPadding
- ValidationRule
- ValidationText
- Value
- VerticalAnchor
- Visible
- Width
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.