Autor Tema: Ancho de columnas  (Leído 1162 veces)

Desconectado xavi

  • Administrador
  • Habitual
  • *****
  • Mensajes: 196
Ancho de columnas
« en: Abril 13, 2012, 11:51:53 pm »
Palabras clave: consulta, hoja de datos, ancho, columnas, ajustar
Autor: Juan M. Afán de Ribera
Extraído de: La web del Búho

Pregunta
Me iria bien disponer de una macro para ajustar el ancho de columnas de unas consultas que se crean desde una formulario (se trata de busquedas de campos de una tabla).

Responde Happy
Te envío una función a la cual le has de pasar como parámetro el nombre de la consulta en la que quieres ajustar el ancho de sus columnas. Lo que hace es abrir la consulta y, por cada una de las columnas de la consulta, pasar una serie de pulsaciones con sendkeys y abrir el menú de ancho de columna, seleccionando (con las pulsaciones acumuladas de sendkeys) "Ajuste perfecto". Espero que te sirva. Lo he hecho para Access 2000 (ten en cuenta que los menús pueden  variar un poco entre versiones)

Código: [Seleccionar]
Sub AjustarColumnasConsulta(nomConsulta As String)
Dim qry As DAO.QueryDef
Dim fld As DAO.Field
Dim i As Integer

    Echo False
    DoCmd.OpenQuery nomConsulta
    Set qry = CurrentDb.QueryDefs(nomConsulta)

    For Each fld In qry.Fields
        For i = 1 To 4
            SendKeys "{Tab}"
        Next
        SendKeys "{Enter}"
        CommandBars("Menu Bar").Controls("Formato").Controls("Ancho de columna...").Execute
        SendKeys "{Tab}", True
    Next

    Set qry = Nothing
    Echo True
End Sub

Anotación de Xavi: con las nuevas versiones 2007/2010 es altamente probable que deje de funcionar