Objeto ComboBox (Access)
Este objeto corresponde a un control de cuadro combinado. El control cuadro combinado combina las características de un cuadro de texto y un cuadro de lista. Utilice un cuadro combinado cuando desee tener la opción de escribir un valor o seleccionarlo de una lista predefinida.
Control | Herramienta |
---|---|
En la vista Formulario, Microsoft Access no muestra la lista hasta que se hace clic en la flecha del cuadro combinado.
Si tiene activado el Asistente para controles antes de seleccionar la herramienta cuadro combinado, puede crear un cuadro combinado con un asistente. Para activar o desactivar los asistentes para controles, haga clic en la herramienta Asistentes para controles del cuadro de herramientas.
El valor de la propiedad LimitToList determina si se pueden insertar valores que no estén en la lista.
La lista puede ser de una o varias columnas y las columnas pueden aparecer con o sin títulos.
En el ejemplo siguiente se muestra cómo usar varios controles ComboBox para suministrar criterios en una consulta.
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
En el ejemplo siguiente se muestra cómo establecer la propiedad RowSource de un cuadro combinado cuando se cargue un formulario. Cuando se muestre el formulario, los elementos almacenados en el campo Departments del cuadro combinado tblDepartment se muestran en el cuadro combinado 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
El siguiente ejemplo muestra cómo crear un cuadro combinado enlazado a una columna a la vez que muestra otra. Al configurar la propiedad ColumnCount en 2 se especifica que el cuadro combinado cboDept mostrará las dos primeras columnas del origen de datos especificado por la propiedad RowSource. Cuando se configura la propiedad BoundCount en 1 se especifica que se devolverá el valor almacenado en la primera columna al inspeccionar el valor del cuadro combinado.
La propiedad ColumnWidths especifica el ancho de las dos columnas. Al establecer el ancho de la primera columna en 0in., la primera columna no aparece en el cuadro combinado.
Private Sub cboDept_Enter()
With cboDept
.RowSource = "SELECT * FROM tblDepartments ORDER BY Department"
.ColumnCount = 2
.BoundColumn = 1
.ColumnWidths = "0in.;1in."
End With
End Sub
En el ejemplo siguiente se muestra cómo agregar un elemento a un cuadro combinado enlazado.
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
- Cambio
- Click
- DblClick
- Dirty
- Enter
- Salir
- 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
- Valor
- VerticalAnchor
- Visible
- Width
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.