Seleccionar registros |
Responder
|
| Autor | |
Algodondulce
Nuevo
Unido: 15/Septiembre/2024 Localización: España Estado: Sin conexión Puntos: 26 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Tema: Seleccionar registrosEnviado: 11/Octubre/2024 a las 23:01 |
|
Buenas tardes, necesito vuestra ayuda.
Tengo un formulario con un subformulario continuo. Me gustaria que los usuarios pudieran seleccionar uno o varios registros. ¿como lo hago? Había pensado en poner una casila de verficación, para saber que registros estan seleccionados, el problema es que el subformulario toma los datos de una tabla alojada en un servidor a la tengo acceso de lectura, es decir, que puedo añadir campos a la tabla.
|
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: en línea Puntos: 14428 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 11/Octubre/2024 a las 23:19 |
|
Podrías copiar los registros a una tabla local y ahí añadir el campo que te falta.
Yo no usaría un subformulario, pondría los datos en un cuadro de lista y habilitando la selección múltiple ya tienes el problema resuelto. |
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 12/Octubre/2024 a las 12:18 |
|
Hola, Si los registros con discontinuos, casi mejor la opción de Jesús. Un saludo
|
|
![]() |
|
Algodondulce
Nuevo
Unido: 15/Septiembre/2024 Localización: España Estado: Sin conexión Puntos: 26 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 13/Octubre/2024 a las 09:04 |
|
Si habilito el selector de registros, ¿Como se cuales estan seleccionados por vba?
|
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 13/Octubre/2024 a las 09:30 |
|
¿Qué tal andamos de VBA? Porque las soluciones que he visto son todas parecidas y se basan en este código de Dev Ashish Forms: Determine selected records in datasheet view (mvps.org)
(visto eso, la solución de Jesús parece bastante más simple) Un saludo
|
|
![]() |
|
Algodondulce
Nuevo
Unido: 15/Septiembre/2024 Localización: España Estado: Sin conexión Puntos: 26 |
Opciones de entrada
Gracias(1)
Cita Respuesta
Enviado: 13/Octubre/2024 a las 13:50 |
|
Xavi en el enlace dice..."Lamentablemente, el evento que ejecuta este código debe estar presente detrás del evento OnTimer del formulario o una barra de herramientas personalizada separada. Esto se debe a la hecho de que la selección es válida sólo mientras el foco de control esté en la hoja de datos. Tan pronto como el foco se mueve a otro control (por ejemplo, cuando hace clic en un botón de comando), la selección se invalida y las propiedades antes mencionadas no ser de alguna utilidad."
Adaptando el código sería: Option Compare Database Dim PrimerRegistro, Seleccionados As Integer Private Sub Form_Timer() PrimerRegistro = Me.SelTop Seleccionados = Me.SelHeight Me.TimerInterval = 3000 End Sub Private Sub btn_calcular_Click() MsgBox "Total registros seleccionados: " & Seleccionados & Chr(13) & _ "Primer registro seleccionado: " & PrimerRegistro & Chr(13) & _ "Ultimo registro seleccionado: " & PrimerRegistro + Seleccionados - 1 End Sub Me puede valer Xavi. Gracias a los dos por responder tan rápido.
Editado por Algodondulce - 13/Octubre/2024 a las 13:53 |
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: en línea Puntos: 14428 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 13/Octubre/2024 a las 14:07 |
|
Bien por esa solución
|
|
![]() |
|
Algodondulce
Nuevo
Unido: 15/Septiembre/2024 Localización: España Estado: Sin conexión Puntos: 26 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 13/Octubre/2024 a las 19:10 |
|
He encontrado una solución a mi problema de seleccionar registros. recuerdo mi problema:
1. No puedo crear una casilla de verficación en el subformulario pq al marcar 1 se marcarian todas. 2. No puedo crear una casilla en el origen de datos pq no tengo permiso de escritura. Solución: ¿Y si engaño al usuario con un formato condicional? Si pinto la fila de un color, el usuario creera la fila esta seleccionada. Luego, recorro todas las filas y me quedo con las que estan del color rojo. Requisitos: En el formulario principal vamos a crear dos objetos: - una casilla de verificación (llamada 'casilla_seleccionada') - un cuadro de texto (llamado 'txt_fila_Seleccionada') oculto. La logica del procedimiento es: Si el usuario quiere seleccionar filas, que marque la casilla Seleccionar filas. Cuando haga clic sobre un registro este se coloreará de color rojo, y si estaba rojo, volverá a su color original. Para
conseguir esto uso un cuadro de texto oculto, donde iré anotando los registros
seleccionados separados por un espacio. Formato condicional de los campos del subformulario: Pinto de rojo si el [id] del registro esta contenido en el txt_fila_Seleccionada EnCad(1;Formularios![Frm_Personas]![txt_Fila_Seleccionada];[idPersona]) En el evento al activar un registro del Subformulario: If Parent.casilla_seleccionada = True Then If InStr(1, Parent.txt_Fila_Seleccionada, IdPersona) > 0 Then Parent.txt_Fila_Seleccionada = Replace(Parent.txt_Fila_Seleccionada, IdPersona, "") Else Parent.txt_Fila_Seleccionada = Parent.txt_Fila_Seleccionada & " " & IdPersona End If End If Me.Recalc Editado por Algodondulce - 13/Octubre/2024 a las 19:26 |
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: en línea Puntos: 14428 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 13/Octubre/2024 a las 19:39 |
|
Si tienes un ratito prueba lo de usar una lista con selección múltiple, que se inventaron para lo que tú estás montando.
|
|
![]() |
|
Algodondulce
Nuevo
Unido: 15/Septiembre/2024 Localización: España Estado: Sin conexión Puntos: 26 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 13/Octubre/2024 a las 19:43 |
|
tambien es verdad. Gracias
|
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |