Propiedad Form.RecordsetClone (Access)

Use la propiedad RecordsetClone para hacer referencia al objeto Recordset de un formulario especificado por la propiedad RecordSource del formulario. Solo lectura.

Sintaxis

más sencilla.Conjunto de registrosClone

expresión Variable que representa un objeto Form.

Comentarios

El valor de la propiedad RecordsetClone es una copia de la consulta o tabla base especificada por la propiedad RecordSource del formulario. Si un formulario está basado en una consulta, por ejemplo, hacer referencia a la propiedad RecordsetClone es equivalente a copiar un objeto Recordset usando la misma consulta. Si luego se aplica un filtro al formulario, el objeto Recordset refleja el filtrado.

Esta propiedad solo está disponible si se utiliza Visual Basic y es de solo lectura en todas las vistas.

La propiedad RecordsetClone se usa para navegar u operar en los registros de un formulario independientemente del formulario en sí. Por ejemplo, puede usar la propiedad RecordsetClone cuando desee usar un método, como el método DAO Find , que no se puede usar con formularios.

Cuando se abre un nuevo objeto Recordset, su primer registro es el registro actual. Si usa uno de los métodos Buscar o Mover para hacer que cualquier otro registro del objeto Conjunto de registros sea actual, debe sincronizar el registro actual del objeto Conjunto de registros con el registro actual del formulario, asignando el valor de la propiedad Marcador DAO a la propiedad Marcador del formulario.

Ejemplo

En el ejemplo siguiente se usa la propiedad RecordsetClone para crear un nuevo clon del objeto Recordset desde el formulario Pedidos y, a continuación, se imprimen los nombres de los campos en la ventana Inmediato.

Sub Print_Field_Names() 
    Dim rst As Recordset, intI As Integer 
    Dim fld As Field 
 
    Set rst = Me.RecordsetClone 
    For Each fld in rst.Fields 
        ' Print field names. 
        Debug.Print fld.Name 
    Next 
End Sub

En el ejemplo siguiente se usa la propiedad RecordsetClone y el objeto Recordset para sincronizar un registro del conjunto de registros con el registro actual del formulario. Cuando se selecciona un nombre de compañía en un cuadro combinado, se usa el método FindFirst para buscar el registro de esa compañía y la propiedad DAO Bookmark del objeto Recordset se asigna a la propiedad Bookmark del formulario, haciendo que el formulario muestre el registro encontrado.

Sub SupplierID_AfterUpdate() 
    Dim rst As Recordset 
    Dim strSearchName As String 
 
    Set rst = Me.RecordsetClone 
    strSearchName = Str(Me!SupplierID) 
    rst.FindFirst "SupplierID = " & strSearchName 
        If rst.NoMatch Then 
            MsgBox "Record not found" 
        Else 
            Me.Bookmark = rst.Bookmark 
        End If 
    rst.Close 
End Sub

Use la propiedad RecordCount para contar el número de registros de un objeto Recordset . En el ejemplo siguiente se muestra cómo puede combinar las propiedades RecordCount y RecordsetClone para contar los registros de un formulario.

Forms!Orders.RecordsetClone.MoveLast 
MsgBox "My form contains " _ 
    & Forms!Orders.RecordsetClone.RecordCount _ 
    & " records.", vbInformation, "Record Count"

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.