ComboBox 对象 (Access)ComboBox object (Access)
此对象对应于一个组合框控件。This object corresponds to a combo box control. 组合框控件兼具文本框和列表框的功能。The combo box control combines the features of a text box and a list box. 如果您希望用户既可以键入值又可以从预定义列表中选择值,则可使用组合框。Use a combo box when you want the option of either typing a value or selecting a value from a predefined list.
注解Remarks
ControlControl | 工具Tool |
---|---|
![]() |
![]() |
在“窗体”视图中,只有单击组合框的箭头时 Microsoft Access 才会显示列表。In Form view, Microsoft Access doesn't display the list until you click the combo box's arrow.
如果在选择组合框工具之前已打开了“控件向导”,则可以使用向导来创建组合框。If you have Control Wizards on before you select the combo box tool, you can create a combo box with a wizard. 若要打开或关闭“控件向导”,请单击工具箱中的“控件向导”工具****。To turn Control Wizards on or off, click the Control Wizards tool in the toolbox.
LimitToList 属性的设置确定是否可以输入不在列表中的值。The setting of the LimitToList property determines whether you can enter values that aren't in the list.
列表可以是单列也可以是多列,而且列可以显示也可以不显示列标题。The list can be single- or multiple-column, and the columns can appear with or without headings.
示例Example
以下示例演示如何使用多个“组合框”控件,以提供查询条件****。The following example shows how to use multiple ComboBox controls to supply criteria for a query.
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”**** 属性。The following example shows how to set the RowSource property of a combo box when a form is loaded. 当显示该窗体时,存储在“tblDepartment”**** 组合框的“Department”**** 字段中的项目将显示在“cboDept”**** 组合框中。When the form is displayed, the items stored in the Departments field of the tblDepartment combo box are displayed in the cboDept combo box.
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
下面的示例演示如何创建一个绑定到一列的组合框, 同时显示另一列。The following example shows how to create a combo box that is bound to one column while displaying another. 将“ColumnCount”**** 属性设置为 2 可指定“cboDept”**** 组合框将显示由“RowSource”**** 属性指定的数据源的前两列。Setting the ColumnCount property to 2 specifies that the cboDept combo box will display the first two columns of the data source specified by the RowSource property. 将“BoundColumn”**** 属性设置为 1 可指定在检查组合框的值时将会返回存储在第一列中的值。Setting the BoundColumn property to 1 specifies that the value stored in the first column will be returned when you inspect the value of the combo box.
ColumnWidths属性指定两列的宽度。The ColumnWidths property specifies the width of the two columns. 通过将第一列的宽度设置为 0in.,可以在组合框中不显示第一列。By setting the width of the first column to 0in., the first column is not displayed in the combo box.
Private Sub cboDept_Enter()
With cboDept
.RowSource = "SELECT * FROM tblDepartments ORDER BY Department"
.ColumnCount = 2
.BoundColumn = 1
.ColumnWidths = "0in.;1in."
End With
End Sub
以下示例演示如何将项目添加到绑定的组合框。The following example shows how to add an item to a bound combo box.
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
事件Events
- AfterUpdateAfterUpdate
- BeforeUpdateBeforeUpdate
- ChangeChange
- ClickClick
- DblClickDblClick
- DirtyDirty
- EnterEnter
- 退出Exit
- GotFocusGotFocus
- KeyDownKeyDown
- KeyPressKeyPress
- KeyUpKeyUp
- LostFocusLostFocus
- MouseDownMouseDown
- MouseMoveMouseMove
- MouseUpMouseUp
- NotInListNotInList
- UndoUndo
方法Methods
- AddItemAddItem
- DropdownDropdown
- MoveMove
- RemoveItemRemoveItem
- RequeryRequery
- SetFocusSetFocus
- SizeToFitSizeToFit
- UndoUndo
属性Properties
- AddColonAddColon
- AfterUpdateAfterUpdate
- AllowAutoCorrectAllowAutoCorrect
- AllowValueListEditsAllowValueListEdits
- ApplicationApplication
- AutoExpandAutoExpand
- AutoLabelAutoLabel
- BackColorBackColor
- BackShadeBackShade
- BackStyleBackStyle
- BackThemeColorIndexBackThemeColorIndex
- BackTintBackTint
- BeforeUpdateBeforeUpdate
- BorderColorBorderColor
- BorderShadeBorderShade
- BorderStyleBorderStyle
- BorderThemeColorIndexBorderThemeColorIndex
- BorderTintBorderTint
- BorderWidthBorderWidth
- BottomMarginBottomMargin
- BottomPaddingBottomPadding
- BoundColumnBoundColumn
- CanGrowCanGrow
- CanShrinkCanShrink
- ColumnColumn
- ColumnCountColumnCount
- ColumnHeadsColumnHeads
- ColumnHiddenColumnHidden
- ColumnOrderColumnOrder
- ColumnWidthColumnWidth
- ColumnWidthsColumnWidths
- ControlsControls
- ControlSourceControlSource
- ControlTipTextControlTipText
- ControlTypeControlType
- DecimalPlacesDecimalPlaces
- DefaultValueDefaultValue
- DisplayAsHyperlinkDisplayAsHyperlink
- DisplayWhenDisplayWhen
- EnabledEnabled
- EventProcPrefixEventProcPrefix
- FontBoldFontBold
- FontItalicFontItalic
- FontNameFontName
- FontSizeFontSize
- FontUnderlineFontUnderline
- FontWeightFontWeight
- ForeColorForeColor
- ForeShadeForeShade
- ForeThemeColorIndexForeThemeColorIndex
- ForeTintForeTint
- FormatFormat
- FormatConditionsFormatConditions
- GridlineColorGridlineColor
- GridlineShadeGridlineShade
- GridlineStyleBottomGridlineStyleBottom
- GridlineStyleLeftGridlineStyleLeft
- GridlineStyleRightGridlineStyleRight
- GridlineStyleTopGridlineStyleTop
- GridlineThemeColorIndexGridlineThemeColorIndex
- GridlineTintGridlineTint
- GridlineWidthBottomGridlineWidthBottom
- GridlineWidthLeftGridlineWidthLeft
- GridlineWidthRightGridlineWidthRight
- GridlineWidthTopGridlineWidthTop
- HeightHeight
- HelpContextIdHelpContextId
- HideDuplicatesHideDuplicates
- HorizontalAnchorHorizontalAnchor
- HyperlinkHyperlink
- IMEHoldIMEHold
- IMEModeIMEMode
- IMESentenceModeIMESentenceMode
- InheritValueListInheritValueList
- InputMaskInputMask
- InSelectionInSelection
- IsHyperlinkIsHyperlink
- IsVisibleIsVisible
- ItemDataItemData
- ItemsSelectedItemsSelected
- KeyboardLanguageKeyboardLanguage
- LabelAlignLabelAlign
- LabelXLabelX
- LabelYLabelY
- LayoutLayout
- LayoutIDLayoutID
- LeftLeft
- LeftMarginLeftMargin
- LeftPaddingLeftPadding
- LimitToListLimitToList
- ListCountListCount
- ListIndexListIndex
- ListItemsEditFormListItemsEditForm
- ListRowsListRows
- ListWidthListWidth
- LockedLocked
- 名称Name
- NumeralShapesNumeralShapes
- OldBorderStyleOldBorderStyle
- OldValueOldValue
- OnChangeOnChange
- OnClickOnClick
- OnDblClickOnDblClick
- OnDirtyOnDirty
- OnEnterOnEnter
- OnExitOnExit
- OnGotFocusOnGotFocus
- OnKeyDownOnKeyDown
- OnKeyPressOnKeyPress
- OnKeyUpOnKeyUp
- OnLostFocusOnLostFocus
- OnMouseDownOnMouseDown
- OnMouseMoveOnMouseMove
- OnMouseUpOnMouseUp
- OnNotInListOnNotInList
- OnUndoOnUndo
- ParentParent
- PropertiesProperties
- ReadingOrderReadingOrder
- RecordsetRecordset
- RightMarginRightMargin
- RightPaddingRightPadding
- RowSourceRowSource
- RowSourceTypeRowSourceType
- ScrollBarAlignScrollBarAlign
- SectionSection
- SelectedSelected
- SelLengthSelLength
- SelStartSelStart
- SelTextSelText
- SeparatorCharactersSeparatorCharacters
- ShortcutMenuBarShortcutMenuBar
- ShowOnlyRowSourceValuesShowOnlyRowSourceValues
- SmartTagsSmartTags
- SpecialEffectSpecialEffect
- StatusBarTextStatusBarText
- TabIndexTabIndex
- TabStopTabStop
- TagTag
- TextText
- TextAlignTextAlign
- ThemeFontIndexThemeFontIndex
- TopTop
- TopMarginTopMargin
- TopPaddingTopPadding
- ValidationRuleValidationRule
- ValidationTextValidationText
- 值Value
- VerticalAnchorVerticalAnchor
- VisibleVisible
- WidthWidth
另请参阅See also
支持和反馈Support and feedback
有关于 Office VBA 或本文档的疑问或反馈?Have questions or feedback about Office VBA or this documentation? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.