Propiedad Form.RecordsetClone (Access)
Utilice la propiedad RecordsetClone para hacer referencia al objeto Recordset de un formulario especificado por la propiedad RecordSource del formulario. Solo lectura.
Sintaxis
expresión. RecordsetClone
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 Find de DAO, 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 Find o uno de los métodos Move para realizar cualquier otro registro en el objeto Recordset actual, debe sincronizar el registro actual del objeto Recordset con el registro actual del formulario mediante la asignación del valor de la propiedad Bookmark de DAO a la propiedad Bookmark del formulario.
Ejemplo:
En el ejemplo siguiente se usa la propiedad RecordsetClone para crear un nuevo clon del objeto Recordset a partir del formulario Orders 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 empresa de un cuadro combinado, el método FindFirst se usa para buscar el registro de esa empresa y la propiedad Bookmark dao del objeto Recordset se asigna a la propiedad Bookmark del formulario, lo que hace 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
Utilice la propiedad RecordCount para contar el número de registros de un objeto Recordset . En el ejemplo siguiente se muestra cómo combinar la propiedad RecordCount y la propiedad 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.