Access - activar registro desde subfomulario

 
Vista:

activar registro desde subfomulario

Publicado por salva (44 intervenciones) el 22/11/2020 10:53:25
A ver si me podéis ayudar con esta,
tengo un formulario cultivos con 2 campos idcultivo y cultivo este formulario tiene botones para agregar y modificar registros, en este formulario tengo un subformulario con todos los cultivos, mi pregunta ¿como puedo seleccionar un registro en el subformulario y me cambie el que tengo activo en el formulario?, por ejemplo para modificarlo.

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

activar registro desde subfomulario

Publicado por Anonimo (3312 intervenciones) el 22/11/2020 13:11:59
Seria muy sencillo con la opción de 'formulario dividido' (salió con la versión A'2007)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por salva (44 intervenciones) el 22/11/2020 13:50:46
Ya lo tenia visto, pero no puedo tratarlo como dos formularios independiente, por ejemplo para la configuración de los 2 formularios de forma individual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por Anonimo (3312 intervenciones) el 22/11/2020 16:37:53
Dos formularios con el mismo origen de datos suelen ser complicados de manejar, las variaciones de uno no se reflejaran de forma inmediata en el otro y hay que ser muy cuidadoso con las modificaciones salvándolas en tiempo real y sincronizando los cambios en 'el otro'.

No es difícil si se domina algo el VBA, en otro cado .... dedicarle un tiempo a un diseño que sea mas eficiente y no perder el tiempo en hacerlo 'diferente'.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por salva (44 intervenciones) el 22/11/2020 17:32:59
Como lo podría hacer con VBA.


Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por Anonimo (3312 intervenciones) el 23/11/2020 01:33:51
Se suele hacer localizando en el RecordsetClone el ID del registro (o la combinación que los distinga como únicos) .

Localizado el registro, se sincroniza 'el Clone' con el formulario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por salva (44 intervenciones) el 23/11/2020 14:35:01
he probado con esto pero no funciona, donde puede estar el error.


1
2
3
4
5
6
7
Private Sub Form_Current()
    Dim rs As Object
 
    Set rs = Forms![forcultivos].Recordset.Clone,
    rs.FindFirst "[idcultivo] = '" & Me.idcultivo & "'"
    Me.Bookmark = rs.Bookmark
End Sub

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por Anonimo (3312 intervenciones) el 23/11/2020 16:14:42
Uno de los errores (el mas clásico) esta en que se confunde a RecordsetClone con Recordset.Clone

Uno es un objeto recordset (copia fiel y asíncrona del origen de datos del formulario) con la propiedad Clone del objeto recordset (esto es : una copia independiente).


Aceptaría que 'RECORDSETCLONE' es un poco largo, pero de puede utilizar como objeto por defecto y utilizarlo de forma elíptica:

1
2
3
4
5
With Me.RecordsetClone ' ya se le puede utilizar sin mencionarlo
.FindFirst "[idcultivo] = '" & Me.idcultivo & "'" ' se supone que el ID a localizar es alfanumérico
 'Hay que verificar que se le localiza y de localizarlo .. se igualan
IF Not .Nomatch Then   Me.BookMark = .BookMark
End With ' y finalizada la necesidad, se libera
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por salva (44 intervenciones) el 23/11/2020 20:33:08
Con esto funciona, como lo veis.

1
2
3
4
5
6
7
Private Sub Form_Current()
 
    Dim rs As Recordset
    Set rs = Forms!forcultivos.RecordsetClone
    rs.FindFirst "[idcultivo] = '" & Me.idcultivo & "'"
    Forms!forcultivos.Bookmark = rs.Bookmark
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por salva (44 intervenciones) el 23/11/2020 21:51:55
el problema viene ahora tengo un cuadro búsqueda en el formulario principal que filtra los datos del subformulario con el siguiente código;

1
2
3
4
5
Private Sub txtbuscar_Change()
Dim sql As String
sql = "select * from cultivos where cultivo like'*" & Me.txtbuscar.Text & "*'order by cultivo"
Me.forsubcultivos2.Form.RecordSource = sql
End Sub

crea conflicto, el cuadro búsqueda no funciona correctamente.
el formulario principal es forcultivos y el subformulario forsubcultivos2.

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar registro desde subfomulario

Publicado por salva (44 intervenciones) el 29/11/2020 12:16:29
Al final me rindo no consigo hacer que funcione, doy por cerrado el tema.


Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar