Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2013, 11:07
3ricks0ul
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 12 años, 5 meses
Puntos: 2
Sugerencia [Muestra de datos en Form]

Saludos, necesito opiniones para poder realizar la siguiente tarea:

-Tengo un stored procedure que me trae varios valores de la siguiente forma:



Y al final muestro algunas variables de acuerdo al Query para efectos de operaciones, el detalle es que quiero mostrar todos esos datos en un Form de VB, ya sea en distintos DataGrids, TextBoxes(En el caso de mostrar solo las variables declaradas dentro del ST), pero no se como hacerlo o no me doy una idea de como mostrar desde un mismo stored procedure todos los resultados en distintos controles, no se si me explique, y de antemano muchas gracias.


Saludos y gracias por leer/responder.

PD: Estoy usando VB.NET 2010 y SQL 2008
PD2: Anexo Query:

Cita:
Código SQL:
Ver original
  1. DECLARE @Anio INT=2013,@Mes INT=1
  2. /* #Actuales #Altas #Bajas */
  3. DECLARE @hc DECIMAL=(SELECT COUNT(*) FROM corp_personal p
  4. INNER JOIN tmq.dbo.personal_personal pp ON pp.nombre=p.nombre
  5. WHERE p.estatus_personal=1 AND pp.estado='A')
  6. DECLARE @altas DECIMAL=(SELECT COUNT(*) FROM tmq.dbo.personal_personal pp
  7. WHERE YEAR(pp.fecha_ingreso)=@Anio AND MONTH(pp.fecha_ingreso)=@mes)
  8. DECLARE @bajas DECIMAL=(SELECT COUNT(*) FROM tmq.dbo.personal_personal pp
  9. WHERE YEAR(pp.fecha_baja)=@Anio AND MONTH(pp.fecha_baja)=@mes)
  10. SELECT @altas Altas,@bajas Bajas
  11. /*Altas x Depto*/
  12. SELECT DISTINCT d.desc_depto Departamentos,COUNT(*) Altas FROM tmq.dbo.personal_personal pp
  13. LEFT OUTER JOIN corp_depto d ON d.id_depto=pp.id_depto
  14. WHERE YEAR(pp.fecha_ingreso)=@Anio AND MONTH(pp.fecha_ingreso)=@mes
  15. GROUP BY d.desc_depto
  16. /*Altas Detalle*/
  17. SELECT  pp.nombre Nombre,d.desc_depto Departamento,c.descripcion Puesto,pp.fecha_ingreso Fecha_Alta FROM tmq.dbo.personal_personal pp
  18. LEFT OUTER JOIN corp_depto d ON d.id_depto=pp.id_depto
  19. LEFT OUTER JOIN corp_categoria c ON c.id_categoria=pp.id_categoria
  20. WHERE YEAR(pp.fecha_ingreso)=@Anio AND MONTH(pp.fecha_ingreso)=@mes
  21. /*Bajas x Depto*/
  22. SELECT DISTINCT d.desc_depto Departamentos,COUNT(*) Bajas FROM tmq.dbo.personal_personal pp
  23. LEFT OUTER JOIN corp_depto d ON d.id_depto=pp.id_depto
  24. WHERE YEAR(pp.fecha_baja)=@Anio AND MONTH(pp.fecha_baja)=@mes
  25. GROUP BY d.desc_depto
  26. /*Meses que duraron las bajas*/
  27. SELECT pp.nombre Nombre,d.desc_depto Departamento,c.descripcion Puesto,fecha_baja Baja,DATEDIFF(MONTH,pp.fecha_ingreso,pp.fecha_baja) Meses FROM tmq.dbo.personal_personal pp
  28. LEFT OUTER JOIN corp_depto d ON d.id_depto=pp.id_depto
  29. LEFT OUTER JOIN corp_categoria c ON c.id_categoria=pp.id_categoria
  30. WHERE YEAR(pp.fecha_baja)=@Anio AND MONTH(pp.fecha_baja)=@mes
  31. /*Meses Totales / Prom. Meses */
  32. DECLARE @MesesTotales DECIMAL=(SELECT SUM(DATEDIFF(MONTH,pp.fecha_ingreso,pp.fecha_baja))Meses FROM tmq.dbo.personal_personal pp
  33. WHERE YEAR(pp.fecha_baja)=@Anio AND MONTH(pp.fecha_baja)=@mes)
  34. SELECT @MesesTotales/@bajas PromedioenMeses
  35. /* Rotación */
  36. SELECT (((@altas+@bajas)*2)*100)/@hc Rotación