none
- Implementar Control de Máscaras en 1 DBGrid. RRS feed

  • Pregunta

  • Hola,

     

    Estoy intentando Aplicar Máscaras a 1 Control DBGrid.

     

    He Probado de 2 Formas Diferentes:

     A) Aplicando una Máscara de Input a los Correspondientes Campos de la Tabla Determinada, en Diseño. (Mediante Access).

    p.ejemplo: para la Fecha Utilizo formato de Fecha Corta, y la Máscara: 00/00/0000;0;_

     B) Utilizando un Control Flotante que se Desplaza a la Columna y Línea clicadas del DBGrid. Este control en cuestión está Mascarizado en función de la columna Clicada.

     

    -          El Primer método no Funciona, es Decir las Máscaras Aplicadas en los Campos de Access, no se Transmiten al DBGrid Enlazado de Vb.

     

    -          El Segundo Método da Varias Irregularidades de funcionamiento en el Momento de p.ejemplo Guardar los Datos Formateados.

     

    ¿Hay alguna forma de Masquear las Columnas de un Control DBGrid en Access y que funcionen o se Reflejen en el DBGrid?.

    Saludos cordiales.

    viernes, 26 de octubre de 2012 15:43

Todas las respuestas

  • Hola,

    Tenes dos opciones:

    En tiempo de diseño ingresando a personalizado en las propiedades, solapa columnas para cada una de las columnas tenes que configurar en campo Number Format.

    En tiempo de corrida tenes que asignar el formato en cada columnas de la siguente manera, DBGrid.Columns(0).NumberFormat = "dd/mm/yyyy"

    Victor Koch

    viernes, 26 de octubre de 2012 16:58
  • Gracias.

    Conocía ya esos métodos. A lo que yo me refería es no sólo a formatear Columnas,

    Sinó también a darles máscara. p.ejemplo: en Caso de una Columna con formato de Fecha corta, poder darle también Máscara de fecha corta

    (Tal i como hago en Access):

    "__/__/____".

    Al mismo tiempo de tener ese formato i máscara en esa columna, el Usuario no debería teclear los slash para Introducir una Fecha.

    Me Explico. Esto, en Tiempo de Ejecución, es Posible ??: DBGrid1.Columns(1).Mask = "00/00/0000;0;_"

    o bien:

    DBGrid1.Columns(1).Mask = '00/00/0000;0;_'

    o bien:

    DBGrid1.Columns(1).Mask = 00/00/0000;0;_

    Cómo sería?.


    • Editado GZ-X7 lunes, 29 de octubre de 2012 11:01
    lunes, 29 de octubre de 2012 10:33