Visual Basic - concatenar fechas en generador de consultas Visual basic 2012

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Antonio
Val: 28
Ha disminuido su posición en 4 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

concatenar fechas en generador de consultas Visual basic 2012

Publicado por Antonio (7 intervenciones) el 30/06/2020 20:22:39
Hola a todos. Tengo un reto que no le encuentro salida. Estoy generando un reporte en Visual Basic 2012 que toma datos de una consulta SELECT de tres tablas de SQL server 2019. Logrè concatenar los valores (dinero) de las compras, ventas y otras operaciones, ahora deseo concatenar en una sola columna el dato Fecha de cada tabla en una sola columna. No he podido me salen errores de que el ADD no està habilitado para DATE o DATETIME. Que no puedo usar el "+" en Fechas, Traté de convertir las columnas fechas a Varchar (MAX) o VARCHAR(10) y luego pasarlo a DATE, pero tampoco he podido usar bien el CONVERT o el TRYCONVERT. He intentado de todo. Copio el código que estoy edificando desde el Generador de Consultas de Visual Basic 2012, quizá puedan ayudarme.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT Tbl_CatalogoCuenta.IdCatalogoCuenta, SUM(CASE WHEN Tbl_CatalogoCuenta.Movimiento = 'Ingreso' THEN Tbl_FacturaVenta.Neto END) AS INGRESOSV,
                  SUM(CASE WHEN Tbl_CatalogoCuenta.Movimiento = 'Egreso' THEN Tbl_FacturaCompra.Neto END) AS EGRESOSC, SUM(CASE WHEN Tbl_CatalogoCuenta.Movimiento = 'Egreso' THEN Tbl_OtraOperacion.NetoOO END) AS EGRESOSO,
                  Tbl_CatalogoCuenta.Codigo, Tbl_CatalogoCuenta.Movimiento, Tbl_CatalogoCuenta.Cuenta, FORMAT(Tbl_FacturaVenta.FechaVenta, 'MM/yy') AS MesV, FORMAT(Tbl_FacturaCompra.FechaCompra, 'MM/yy') AS MesC,
                  FORMAT(Tbl_OtraOperacion.FechaOO, 'MM/yy') AS MesOO, ISNULL(CAST(Tbl_FacturaCompra.FechaCompra AS Varchar(MAX)), '') + ISNULL(CAST(Tbl_FacturaVenta.FechaVenta AS Varchar(MAX)), '')
                  + ISNULL(CAST(Tbl_OtraOperacion.FechaOO AS Varchar(MAX)), '') AS FECHAMAX, Tbl_FacturaCompra.FechaCompra, Tbl_FacturaVenta.FechaVenta, Tbl_OtraOperacion.FechaOO,
                  ISNULL(CAST(Tbl_FacturaCompra.FechaCompra AS Varchar(7)), '') + ISNULL(CAST(Tbl_FacturaVenta.FechaVenta AS Varchar(7)), '') + ISNULL(CAST(Tbl_OtraOperacion.FechaOO AS Varchar(7)), '') AS FECHAMA,
                  ISNULL(CAST(Tbl_OtraOperacion.FechaOO AS DATE), '') AS FECHABIEN, Tbl_FacturaCompra.Neto AS NetoC, Tbl_FacturaVenta.Neto AS NetoV, Tbl_OtraOperacion.NetoOO, ISNULL(Tbl_FacturaCompra.Neto, '0.0')
                  + ISNULL(Tbl_FacturaVenta.Neto, '0.0') + ISNULL(Tbl_OtraOperacion.NetoOO, '0.0') AS Valor, TRY_CONVERT(date, ISNULL(CAST(Tbl_FacturaCompra.FechaCompra AS Varchar(MAX)), '')
                  + ISNULL(CAST(Tbl_FacturaVenta.FechaVenta AS Varchar(MAX)), '') + ISNULL(CAST(Tbl_OtraOperacion.FechaOO AS Varchar(MAX)), ''), 103) AS FECHA_DATE
FROM     Tbl_CatalogoCuenta LEFT OUTER JOIN
                  Tbl_FacturaCompra ON Tbl_CatalogoCuenta.IdCatalogoCuenta = Tbl_FacturaCompra.IdCuenta LEFT OUTER JOIN
                  Tbl_FacturaVenta ON Tbl_CatalogoCuenta.IdCatalogoCuenta = Tbl_FacturaVenta.IdCuenta LEFT OUTER JOIN
                  Tbl_OtraOperacion ON Tbl_CatalogoCuenta.IdCatalogoCuenta = Tbl_OtraOperacion.IdCuenta
GROUP BY Tbl_CatalogoCuenta.IdCatalogoCuenta, Tbl_CatalogoCuenta.IdEmpresa, Tbl_CatalogoCuenta.Codigo, Tbl_CatalogoCuenta.Movimiento, Tbl_CatalogoCuenta.Cuenta, Tbl_FacturaCompra.FechaCompra, Tbl_FacturaVenta.FechaVenta,
                  Tbl_OtraOperacion.FechaOO, Tbl_FacturaCompra.Neto, Tbl_FacturaVenta.Neto, Tbl_OtraOperacion.NetoOO
ORDER BY Tbl_CatalogoCuenta.IdCatalogoCuenta
Lo que busco es una columna concatenada de los tres campos de Tbl_FacturaVenta.FechaVenta + Tbl_FacturaCompra.FechaCompra +Tbl_OtraOperacion.FechaOO, pero en formato fecha, por supuesto, para poder hacer filtros de meses, trimestres, anuales en el informe final (Report de Visual Basic).
Bueno la consulta FECHAMAX esta en formato 2020-05-30 (Año-Mes-Dìa) quizá esto me esta dando los. Porque al aplicar el Convert o TRYConvert me salen todos los valores como NULL.
Ayuda, por favor, amigos del foro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder