Autor Tema: Como llenar un mshflexgrid con un recordset  (Leído 5040 veces)

0 Usuarios y 1 Visitante están viendo este tema.

zxs23

  • Megabyte
  • ***
  • Mensajes: 146
  • Reputación: +5/-2
    • Ver Perfil
Como llenar un mshflexgrid con un recordset
« en: Junio 04, 2012, 01:04:22 am »
Como llenar un mshflexgrid y ala vez darme formato a los campos numericos y fechas.

Tambien quiero saber por que el mshflexgrid siempre toma como decimal al punto(.) ademas de agregar mas de 2 decimales cuando en la BD access2007 hay 2.50 en el grid sale 2.499999999999(Esto sucede cuando utilizo la propiedad set datasource = recordset)
« última modificación: Junio 04, 2012, 01:07:23 am por zxs23 »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Como llenar un mshflexgrid con un recordset
« Respuesta #1 en: Junio 04, 2012, 02:49:17 am »
No es culpa del grid sino de tu recordset (pasa el mouse)

El formato lo puedes tener en el resultado de tu consulta, si lo quieres hacer en el grid haces un for next:

Código: (VB) [Seleccionar]
For i = 1 to rs.Recordcount
   Grid1.textmatrix(i, TuCampo) = Format(rs.Fields("TuCampo"), "#0.00")
Next i

Donde TuCampo sera la columna donde tienes el numero.

Access te soporta Format asi que lo puedes mandar desde tu consulta.

Y por cierto, Access TE PRESENTA con dos decimales porque en algún lugar de access así está definido, pero realmente el valor guardado en Access es 2.499999999

El sobre el punto o coma decimal es un tema de configuración regional.

Saludos
Me encuentras en YAcosta.com

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Como llenar un mshflexgrid con un recordset
« Respuesta #2 en: Junio 04, 2012, 09:48:07 am »
yo directamente lo cargo al recordset en el datasource y listo, es mas rapido que hacer un For, si queres que vengan formateados lo podes hacer ya en el select.

zxs23

  • Megabyte
  • ***
  • Mensajes: 146
  • Reputación: +5/-2
    • Ver Perfil
Re:Como llenar un mshflexgrid con un recordset
« Respuesta #3 en: Junio 06, 2012, 06:43:21 pm »
Intente darle el Format en la misma consulta y me tira error supongo que necesito corchetes o quien sabe cual sera la sintaxis para access, espero me ayuden
Código: [Seleccionar]
rs.Open "SELECT codigo,descripcion,Format(precio,[Fixed]) FROM producto", conx, adOpenStatic, adLockOptimistic

Tengo la configuracion regional en Español(España) 123.456.789,00 es decir el decimal con coma y aun asi en el flexgrid HERARQUICO me sale punto, he reiniciado la PC y sigue con punto, les sucede eso o acaso me falta el servicepack6.

Cargo el grid con Datasource.

Liudex

  • Bytes
  • *
  • Mensajes: 27
  • Reputación: +1/-0
    • Ver Perfil
Re:Como llenar un mshflexgrid con un recordset
« Respuesta #4 en: Junio 07, 2012, 09:47:23 am »
Yo personalmente lo hago como indica el amigo seba123neo y no me da problema alguno te muestro un ejemplo de una consulta Sql que da los valores ya formateados.

Código: [Seleccionar]
SELECT  Item, Detalle, Unidad, Cantidad,
          Format(( Precio), '##,##0.00') As Prec, Format((Precio* Cantidad),'##,##0.00') AS Total,                                NumRequisicion  FROM DetalleOrden Where NumOrden = '" & IdOrden & "' "
Si Se puede Imaginar, Se Puede Programar........