Tio puedes hacerlo de esta manera por ejemplo utilizar el evento doble click del datagrid y desde ahi llamar al otro form y cargar los registros de dicha fila en un text
Código:
'Asumiendo que el datagrid esta en el form1
Private Sub DataGrid1_DblClick()
Form2.Text1.Text = DataGrid1.Columns(0).Text & DataGrid1.Columns(1).Text
Form2.Show 1
End Sub
El DataGrid1.Columns(0).Text contiene el registro de la fila que se selcciona, si tienes 3 campos entonces recuperas cada uno en orden
DataGrid1.Columns(0).Text 'recupera id_religion
DataGrid1.Columns(1).Text 'recupera religion
DataGrid1.Columns(2).Text 'recupera rama_religion
En cuanto al error que te sale a mi tambien me paso y ocurria por que cerraba el recordset de esta manera en el evento unload del formulario rsProd.Close
Me di cuenta que ocurria cuando al cerrar el form(precionar la x) y si el foco estaba seleccionando un registro del datagrid me salia ese error, la solucion era quitarle el foco antes de cerrar, pero al final lo hize de esta manera
Código:
Private Sub Form_Unload(Cancel As Integer)
'Desabilitamos el datagrid para quitarle el foco
DataGrid1.Enabled = False
'Destruimos y cerramos el recordset
If Not rsProd Is Nothing Then
rsProd.Close
Set rsProd = Nothing
End If
End Sub