![]() |
Temas activados Lista de Usuarios Calendario Búsqueda |
| |
** NORMAS DEL FORO **
| Access y VBA | |
Tema: activar registro desde formulario( |
|
| Página de 2 Siguiente >> |
| Autor | Mensaje |
|
simpatico3333
Habitual
Agregado: 26/Abril/2008 Lugar: españa Estado: Desconectado Mensajes: 82 |
Tema: activar registro desde formularioEnviado: 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 conectada |
|
|
Dabellaso
Asiduo
Agregado: 18/Noviembre/2012 Lugar: España Estado: Desconectado Mensajes: 146 |
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 conectada |
|
|
simpatico3333
Habitual
Agregado: 26/Abril/2008 Lugar: españa Estado: Desconectado Mensajes: 82 |
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 conectada |
|
|
xavi
Administrador
Terrassa-BCN Agregado: 10/Mayo/2005 Lugar: Catalunya |||| Estado: Desconectado Mensajes: 12080 |
Enviado: 23/Noviembre/2020 a las 17:47 |
|
En que te has dejado el Parent
|
|
IP conectada |
|
|
Parche
Habitual
Agregado: 03/Julio/2018 Lugar: Alicante Estado: Desconectado Mensajes: 98 |
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 conectada |
|
|
simpatico3333
Habitual
Agregado: 26/Abril/2008 Lugar: españa Estado: Desconectado Mensajes: 82 |
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 conectada |
|
|
Dabellaso
Asiduo
Agregado: 18/Noviembre/2012 Lugar: España Estado: Desconectado Mensajes: 146 |
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 ![]() 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 ) ![]() 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 conectada |
|
|
Dabellaso
Asiduo
Agregado: 18/Noviembre/2012 Lugar: España Estado: Desconectado Mensajes: 146 |
Enviado: 23/Noviembre/2020 a las 20:40 |
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 conectada |
|
|
simpatico3333
Habitual
Agregado: 26/Abril/2008 Lugar: españa Estado: Desconectado Mensajes: 82 |
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. ![]() |
|
IP conectada |
|
|
Dabellaso
Asiduo
Agregado: 18/Noviembre/2012 Lugar: España Estado: Desconectado Mensajes: 146 |
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 ![]() |
|
|
El saber no ocupa lugar, sólo tiempo
|
|
IP conectada |
|
| Página de 2 Siguiente >> | |
|
||
Seleccione Foro |
Tú no puedes enviar nuevos Temas al Foro Tú no puedes responder a los Temas de este Foro Tú no puedes borrar los mensajes en este Foro Tú no puedes editar los mensajes de este Foro Tú no puedes crear encuesta en este Foro Tú no puedes votar en encuesta en este Foro |
|