Temas activadosTemas activados  Lista de Usuarios del ForoLista de Usuarios  CalendarioCalendario  Búsqueda en el ForoBúsqueda  AyudaAyuda
  RegistrarRegistrar  ConectarConectar
Página anterior             ** NORMAS DEL FORO **            Página siguiente
Access y VBA
 Foro de Access y VBA > Access y VBA > Access y VBA
Icono de mensaje Tema: activar registro desde formulario(Tema Cerrado Tema Cerrado) Enviar mensaje Enviar mensaje
Página  de 2 Siguiente >>
Autor Mensaje
simpatico3333
Habitual
Habitual


Agregado: 26/Abril/2008
Lugar: españa
Estado: Desconectado
Mensajes: 82
bullet Tema: activar registro desde formulario
    Enviado: 22/Noviembre/2020 a las 07:40
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.
IP IP conectada
Dabellaso
Asiduo
Asiduo


Agregado: 18/Noviembre/2012
Lugar: España
Estado: Desconectado
Mensajes: 146
bullet Enviado: 22/Noviembre/2020 a las 23:13
Si no quieres complicarte mucho, usando un formulario dividido eso es automático

No lo he probado, pero otra opción es colocar en el evento "Al activar registro" del subformulario algo como
Me.Parent.Bookmark = Me.Bookmark

Si eso no funciona, (ya que creo que los Bookmark debían crearse en base al mismo recodset en el que uno se quiere desplazar)

En ese caso deberás crear un Recordsetclone del formulario principal, buscar el registro que tengas en el subformulario y luego igualar el Bookmark del formulario principal con el del recordset


El saber no ocupa lugar, sólo tiempo
IP IP conectada
simpatico3333
Habitual
Habitual


Agregado: 26/Abril/2008
Lugar: españa
Estado: Desconectado
Mensajes: 82
bullet Enviado: 23/Noviembre/2020 a las 14:36

he probado con esto pero no funciona, donde puede estar el error.


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
IP IP conectada
xavi
Administrador
Administrador
Avatar
Terrassa-BCN

Agregado: 10/Mayo/2005
Lugar: Catalunya ||||
Estado: Desconectado
Mensajes: 12080
bullet Enviado: 23/Noviembre/2020 a las 17:47
En que te has dejado el Parent
Xavi, un minyó de Terrassa

Mi web
IP IP conectada
Parche
Habitual
Habitual


Agregado: 03/Julio/2018
Lugar: Alicante
Estado: Desconectado
Mensajes: 98
bullet Enviado: 23/Noviembre/2020 a las 17:49
Buenas tardes:

A vote pronto:

- Parent - quitar coma final en la primera línea y frmCultivos supongo que será.

Saludos.
IP IP conectada
simpatico3333
Habitual
Habitual


Agregado: 26/Abril/2008
Lugar: españa
Estado: Desconectado
Mensajes: 82
bullet Enviado: 23/Noviembre/2020 a las 20:30
Con esto me funciona, como lo veis.

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

Gracias.
IP IP conectada
Dabellaso
Asiduo
Asiduo


Agregado: 18/Noviembre/2012
Lugar: España
Estado: Desconectado
Mensajes: 146
bullet Enviado: 23/Noviembre/2020 a las 20:37
Yo veo varias cosas.
1. Probaste simplemente aquello de Me.Parent.Bookmark = Me.Bookmark  ? No te funciono?

Sobre tu código:
1. No sé si .Recordset.Clone es lo mismo que .RecodSetClone, prueba a cambiarlo por si acaso Embarrassed

2. Si usas .FindFirst , yo usaría también .NoMatch, no sea que la búsqueda no comience desde el principio del recordset, o en su defecto, antes del .FindFirst, pondría un rs.MoveFirst

2. Si [IdCultivo] es un campo autonumérico (o numérico) te sobrarían los apostrofes
      rs.FindFirst "[idcultivo] = " & Me.idcultivo

  (Si es un campo de texto está bien )Wink

3. Como dice xavi, te comiste el Parent:
     Me.Parent.Bookmark = rs.Bookmark

prueba y nos cuentas

El saber no ocupa lugar, sólo tiempo
IP IP conectada
Dabellaso
Asiduo
Asiduo


Agregado: 18/Noviembre/2012
Lugar: España
Estado: Desconectado
Mensajes: 146
bullet Enviado: 23/Noviembre/2020 a las 20:40
Comentaba simpatico3333

'"
    Forms!forcultivos.Bookmark = rs.Bookmark

Funciona porque accedes al Bookmark del formulario principal directamente sin usar la propiedad .Parent del subformulario
En realidad es lo mismo, pero de modo más directo ;) 


Editado por Dabellaso - 23/Noviembre/2020 a las 20:40
El saber no ocupa lugar, sólo tiempo
IP IP conectada
simpatico3333
Habitual
Habitual


Agregado: 26/Abril/2008
Lugar: españa
Estado: Desconectado
Mensajes: 82
bullet Enviado: 23/Noviembre/2020 a las 21:48
1. probado Me.Parent.Bookmark = Me.Bookmark funciona también.
2. .NoMatchn y rs.MoveFirst no me funciona
3. idcultivo es texto

el problema viene ahora tengo un cuadro búsqueda en el formulario principal que filtra los datos del subformulario con el siguiente código;

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.

Cry Cry Cry
IP IP conectada
Dabellaso
Asiduo
Asiduo


Agregado: 18/Noviembre/2012
Lugar: España
Estado: Desconectado
Mensajes: 146
bullet Enviado: 24/Noviembre/2020 a las 20:04
Realmente no estas filtrando el subformulario, le estas cambiando el origen de datos por otro 
Despues de hacer eso, no creo que te sigua funcionando aquello de Forms!forcultivos.Bookmark = rs.Bookmark

cuando dices que el cuadro de búsqueda crea conflicto, que no funciona, a que te refieres? No filtra, filtra mal, da error...? o después de haber "filtrado", en el formulario principal no se muestra el registro de subformulario?

ayúdame a ayudarte Wink

El saber no ocupa lugar, sólo tiempo
IP IP conectada
Foro de Access y VBA > Access y VBA > Access y VBA
Página  de 2 Siguiente >>
Enviar mensaje
Versión para imprimir Versión para imprimir

Seleccione Foro
no puedes enviar nuevos Temas al Foro
no puedes responder a los Temas de este Foro
no puedes borrar los mensajes en este Foro
no puedes editar los mensajes de este Foro
no puedes crear encuesta en este Foro
no puedes votar en encuesta en este Foro

Bulletin Board Software by Web Wiz Forums version 8.06
Copyright ©2001-2006 Web Wiz Guide
NORMAS DEL FORO