** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Evitar modificación orden columnas hoja datos
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoEvitar modificación orden columnas hoja datos

 Responder Responder
Autor
Mensaje
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14738
Enlace directo a este mensaje Tema: Evitar modificación orden columnas hoja datos
    Enviado: 03/Junio/2020 a las 10:12
Hola,

En mis aplicaciones estoy utilizando subformularios en vista hoja de datos como método de muestra de listados. Esa manera de trabajar tiene ventajas e inconvenientes.
Entre las ventajas que permite ordenaciones y filtros de forma "autóctona" y que se pueden ajustar las anchuras de las columnas.
Entre los inconvenientes que no se pueden poner botones (aunque se pueden emular con hipervinculos)

Otro inconveniente es que el usuario puede mostrar/ocultar columnas o cambiar la posición de las mismas.

Eso no seria un problema (casi una funcionalidad ya que cada cuál se lo ordenaría a su manera) si no fuera porque, al realizar ese cambio y salir del formulario, Access pide si se quieren guardar los cambios de diseño. Esos cambios incluyen tanto los del subformulario como los del formulario padre. Y ahí es dónde tengo el problema:
- mis formularios tienen una serie de controles "pequeños" que se expanden en el Form_Resize. Si se guarda el diseño, se me guarda dimensionado.
- también hay una serie de controles no visibles que se muestran al aplicar los criterios de búsqueda. Si se guarda el diseño, los controles quedan visibles en la siguiente apertura.
- mis subformularios en vista hoja de datos se guardan sin origen del registro (para agilizar la carga). Si se guarda el diseño, se almacena el RecordSource

En definitiva: no guardar el diseño cuando se modifica una hoja de datos.

De hecho, sería la bomba poder guardar la ordenación de las columnas sin tocar nada del resto.

¿Alguna sugerencia?

Un saludo

Xavi, un minyó de Terrassa

Mi web
Arriba
happy Ver desplegable
Moderador
Moderador


Unido: 29/Enero/2005
Localización: España
Estado: Sin conexión
Puntos: 3192
Enlace directo a este mensaje Enviado: 03/Junio/2020 a las 11:12
Hola Xavi, no sé si se ajustará a lo que tú tienes. Yo también utilizo muy a menudo, casi siempre más bien, los subformularios vista hoja de datos y a veces no me interesa que se guarden cambios en cómo está estructurado el sistema de columnas o la ordenación, además de que no quiero que me aparezca el mensaje final "¿Desea guardar los cambios en el formulario XX?".

Lo que hago es, a nivel del formulario principal es, por ejemplo, si tengo un botón Cerrar o Salir por el cual controlo el cierre del formulario, le pongo este código:

Private Sub cmdSalir_Click()
    ' que no aparezca ningún mensaje de guardar o no guardar cambios de Access
    DoCmd.SetWarnings False
    ' que no guarde cambios en el diseño del formulario, incluído el subformulario
    DoCmd.Close acForm, Me.Name, acSaveNo
End Sub

Después en el evento Unload del subformulario, pongo

Private Sub Form_Unload(Cancel As Integer)
    ' una vez hemos evitado la pregunta de guardar cambios o no,
    ' volvemos a activar los mensajes de aviso de Access
    DoCmd.SetWarnings True
End Sub

Y con eso ya está Smile
Saludos,

Juan M. Afan de Ribera
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14738
Enlace directo a este mensaje Enviado: 03/Junio/2020 a las 11:18
Me encanta. Solo hay que tener la precaución de salvar los cambios DESEADOS desde la vista diseño.

Voy a implementarlo.
Xavi, un minyó de Terrassa

Mi web
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable