Objeto Form (Access)
Un objeto Form hace referencia a un formulario particular de Microsoft Access.
Comentarios
Un objeto Form es un miembro de la colección Forms, que es una colección de todos los formularios abiertos actualmente. En la colección Forms, los formularios individuales se indizan a partir de cero. Hace referencia a un objeto Form determinado de la colección Forms haciendo referencia al formulario por su nombre o por su índice dentro de la colección.
Si quiere hacer referencia a un objeto específico de la colección Forms, es conveniente hacer referencia al formulario por su nombre, ya que el índice de la colección del formulario puede cambiar. Si el nombre del formulario incluye un espacio, el nombre debe estar encerrado entre corchetes ([ ]).
Sintaxis | Ejemplo |
---|---|
AllForms!formname | AllForms!OrderForm |
AllForms![form name] | AllForms![Order Form] |
AllForms("formname") | AllForms("OrderForm") |
AllForms(index) | AllForms(0) |
Cada objeto Form tiene una colección Controls que contiene todos los controles del formulario. Hace referencia a un control de un formulario haciendo referencia de manera implícita o explícita a la colección Controls. El código será más rápido si hace referencia a la colección Controles implícitamente. En los ejemplos siguientes se muestran dos maneras de hacer referencia a un control denominado NewData en el formulario llamado OrderForm.
' Implicit reference.
Forms!OrderForm!NewData
' Explicit reference.
Forms!OrderForm.Controls!NewData
En los dos ejemplos siguientes se muestra cómo hacer referencia a un control denominado NewData de un subformulario ctlSubForm incluido en el formulario OrderForm.
Forms!OrderForm.ctlSubForm.Form!Controls.NewData
Forms!OrderForm.ctlSubForm!NewData
Ejemplo
En el ejemplo siguiente se muestra cómo usar los controles TextBox para proporcionar criterios de fecha en una consulta.
Private Sub cmdSearch_Click()
Dim db As DAO.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 [PayeeID]=" + Me.cboPayeeID
If Nz(Me.txtEndDate, "") <> "" And Nz(Me.txtStartDate, "") <> "" Then
vWhere = vWhere & " AND [RefundProcessed] Between #" & _
Me.txtStartDate & "# AND #" & Me.txtEndDate & "#"
Else
If Nz(Me.txtEndDate, "") = "" And Nz(Me.txtStartDate, "") <> "" Then
vWhere = vWhere & " AND [RefundProcessed]>=#" _
+ Me.txtStartDate & "#"
Else
If Nz(Me.txtEndDate, "") <> "" And Nz(Me.txtStartDate, "") = "" Then
vWhere = vWhere & " AND [RefundProcessed] <=#" _
+ Me.txtEndDate & "#"
End If
End If
End If
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 siguiente ejemplo, se muestra cómo usar el evento BeforeUpdate de un formulario para requerir que se especifique un valor en un control cuando otro control también tiene datos.
Private Sub Form_BeforeUpdate(Cancel As Integer)
If (IsNull(Me.FieldOne)) Or (Me.FieldOne.Value = "") Then
' No action required
Else
If (IsNull(Me.FieldTwo)) or (Me.FieldTwo.Value = "") Then
MsgBox "You must provide data for field 'FieldTwo', " & _
"if a value is entered in FieldOne", _
vbOKOnly, "Required Field"
Me.FieldTwo.SetFocus
Cancel = True
Exit Sub
End If
End If
End Sub
En el ejemplo siguiente se muestra cómo usar la propiedad OpenArgs para evitar que un formulario se abra desde el panel de navegación.
Private Sub Form_Open(Cancel As Integer)
If Me.OpenArgs() <> "Valid User" Then
MsgBox "You are not authorized to use this form!", _
vbExclamation + vbOKOnly, "Invalid Access"
Cancel = True
End If
End Sub
En el ejemplo siguiente, se ve cómo usar el argumento WhereCondition del método OpenForm para filtrar los registros que se muestran en un formulario cuando se abre.
Private Sub cmdShowOrders_Click()
If Not Me.NewRecord Then
DoCmd.OpenForm "frmOrder", _
WhereCondition:="CustomerID=" & Me.txtCustomerID
End If
End Sub
Eventos
- Activate
- AfterDelConfirm
- AfterFinalRender
- AfterInsert
- AfterLayout
- AfterRender
- AfterUpdate
- ApplyFilter
- BeforeDelConfirm
- BeforeInsert
- BeforeQuery
- BeforeRender
- BeforeScreenTip
- BeforeUpdate
- Click
- Close
- CommandBeforeExecute
- CommandChecked
- CommandEnabled
- CommandExecute
- Current
- DataChange
- DataSetChange
- DblClick
- Deactivate
- Delete
- Dirty
- Error
- Filter
- GotFocus
- KeyDown
- KeyPress
- KeyUp
- Load
- LostFocus
- MouseDown
- MouseMove
- MouseUp
- MouseWheel
- OnConnect
- OnDisconnect
- Open
- PivotTableChange
- Query
- Resize
- SelectionChange
- Timer
- Undo
- Unload
- ViewChange
Métodos
Propiedades
- ActiveControl
- AfterDelConfirm
- AfterFinalRender
- AfterInsert
- AfterLayout
- AfterRender
- AfterUpdate
- AllowAdditions
- AllowDatasheetView
- AllowDeletions
- AllowEdits
- AllowFilters
- AllowFormView
- AllowLayoutView
- AllowPivotChartView
- AllowPivotTableView
- Application
- AutoCenter
- AutoResize
- BeforeDelConfirm
- BeforeInsert
- BeforeQuery
- BeforeRender
- BeforeScreenTip
- BeforeUpdate
- Bookmark
- BorderStyle
- Caption
- ChartSpace
- CloseButton
- CommandBeforeExecute
- CommandChecked
- CommandEnabled
- CommandExecute
- ControlBox
- Controls
- Count
- CurrentRecord
- CurrentSectionLeft
- CurrentSectionTop
- CurrentView
- Cycle
- DataChange
- DataEntry
- DataSetChange
- DatasheetAlternateBackColor
- DatasheetBackColor
- DatasheetBorderLineStyle
- DatasheetCellsEffect
- DatasheetColumnHeaderUnderlineStyle
- DatasheetFontHeight
- DatasheetFontItalic
- DatasheetFontName
- DatasheetFontUnderline
- DatasheetFontWeight
- DatasheetForeColor
- DatasheetGridlinesBehavior
- DatasheetGridlinesColor
- DefaultControl
- DefaultView
- Dirty
- DisplayOnSharePointSite
- DividingLines
- FastLaserPrinting
- FetchDefaults
- Filter
- FilterOn
- FilterOnLoad
- FitToScreen
- Form
- FrozenColumns
- GridX
- GridY
- HasModule
- HelpContextId
- HelpFile
- HorizontalDatasheetGridlineStyle
- Hwnd
- InputParameters
- InsideHeight
- InsideWidth
- KeyPreview
- LayoutForPrint
- MaxRecButton
- MaxRecords
- MenuBar
- MinMaxButtons
- Modal
- Module
- MouseWheel
- Moveable
- Name
- NavigationButtons
- NavigationCaption
- NewRecord
- OnActivate
- OnApplyFilter
- OnClick
- OnClose
- OnConnect
- OnCurrent
- OnDblClick
- OnDeactivate
- OnDelete
- OnDirty
- OnDisconnect
- OnError
- OnFilter
- OnGotFocus
- OnInsert
- OnKeyDown
- OnKeyPress
- OnKeyUp
- OnLoad
- OnLostFocus
- OnMouseDown
- OnMouseMove
- OnMouseUp
- OnOpen
- OnResize
- OnTimer
- OnUndo
- OnUnload
- OpenArgs
- OrderBy
- OrderByOn
- OrderByOnLoad
- Orientation
- Page
- Pages
- Painting
- PaintPalette
- PaletteSource
- Parent
- Picture
- PictureAlignment
- PictureData
- PicturePalette
- PictureSizeMode
- PictureTiling
- PictureType
- PivotTable
- PivotTableChange
- PopUp
- Printer
- Properties
- PrtDevMode
- PrtDevNames
- PrtMip
- Query
- RecordLocks
- RecordSelectors
- Recordset
- RecordsetClone
- RecordsetType
- RecordSource
- RecordSourceQualifier
- ResyncCommand
- RibbonName
- RowHeight
- ScrollBars
- Section
- SelectionChange
- SelHeight
- SelLeft
- SelTop
- SelWidth
- ServerFilter
- ServerFilterByForm
- ShortcutMenu
- ShortcutMenuBar
- SplitFormDatasheet
- SplitFormOrientation
- SplitFormPrinting
- SplitFormSize
- SplitFormSplitterBar
- SplitFormSplitterBarSave
- SubdatasheetExpanded
- SubdatasheetHeight
- Tag
- TimerInterval
- Toolbar
- UniqueTable
- UseDefaultPrinter
- VerticalDatasheetGridlineStyle
- ViewChange
- ViewsAllowed
- Visible
- Width
- WindowHeight
- WindowLeft
- WindowTop
- WindowWidth
Vea también
Soporte técnico y comentarios
¿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.