none
Valor predeterminado en parametro que sea el mes en curso RRS feed

  • Pregunta

  • Buenas tardes!

    Quisieran me pudieran ayudar en este caso, tengo una tabla donde se guardan las transacciones cada una en el periodo que corresponde, pero los campos son de la siguiente manera: una columna que guarda el año en el cual fue hecha la transaccion ej 2014 (no es formato fecha) y otra columna que indica en cual periodo fue ej.: Periodo 1 (que corresponde a enero y asi consecutivamente hasta llegar al Periodo 12).

    Bien, en reportes anteriores he utilizado funciones como esta:


    =DateSerial(yyyy,mm,dd) 'donde yyyy=año; mm=mes, dd=dia
    =DateSerial(Year(Today),1,1) 'primer dia del año actual
    =DateSerial(Year(Today),12,31) 'ultimo dia del año actual
    =DateSerial(Year(Today),Month(Today),Day(Today)) 'fecha actual

    para establecer un valor predeterminado y que el reporte pueda ejecutarse automaticamente.. Me funciona perfecto cuando el tipo de datos del campo es DATE, pero en este caso los campos no son tipo date, entonces necesito que el reporte al ejecutarse tome autoamticamente el año segun el año actual y el mes en curso y se ejecute

    Hay una manera de lograr esto aun cuando los campos no son tipo date?

    GRacias de antemano espero puedan ayudarme

    miércoles, 28 de mayo de 2014 20:14

Respuestas

  • Hola, lo que puedes hacer es agregar un valor predeterminado a tu parametro de la siguiente manera:

    Parameter!Periodo.Value = "Periodo" + CStr(Day(Today()))

    Por otro lado, en el parametro de año harias algo similar

    Parameters!Anho.Value = Year(Today())

    Lo que haces es en el valor predeterminado de cada parametro agregas la funcion.

    Saludos


    John Bocachica | Colombia | http://jboca.blogspot.com http://www.iwco.co

    • Marcado como respuesta Yoss15 jueves, 29 de mayo de 2014 17:58
    jueves, 29 de mayo de 2014 17:29

Todas las respuestas

  • No he llegado a entenderte bien pero ¿porque no conviertes entonces al valor que necesitas?

    Un Saludo


    Fran Diaz | twitter: @frandiaz_ | Blog: {geeks.ms/blogs/fdiaz/}

    jueves, 29 de mayo de 2014 13:24
    Moderador
  • Comparación por conversiones, aunque al igual que Fran no entiendo del todo tu pregunta.

    DATEPART(Year, GETDATE()) = '2014' seria un ejemplo.

    jueves, 29 de mayo de 2014 13:42
  • Gracias por responder!!! :)

    Disculpenme si no me supe explicar..

    la tabla de donde extraigo los datos para el reporte es ago como esto:

    transaccion  monto periodo año

    trans1          200     periodo1  2013

    trans2          400     periodo1  2014

    trans3          500     periodo2  2014

    es decir mi tabla no guarda datos tipo Date... (periodo, donde periodo1 corresponde a Enero y asi sucesivamente) por lo que las funciones DateSerial no funcionan para esos campos..Entonces el reporte tiene 2 parametros para que el usuario vea las transacciones del año y el mes  seleccionado .

    Hasta alli todo bien cuando ellos ejecutan el reporte no hay novedad.

    Bien, ahora lo que necesito es sucribir ese reporte para que se envie automaticamente por correo, y para ello necesito que se envie con la informacion del mes en curso.. y no encuentro la manera de darle la instruccion ya que el campo que me indica el mes es tipo texto, espero me puedan ayudar Feliz tarde. :)
    jueves, 29 de mayo de 2014 16:24
  • Gracias por responder!!! :)

    Disculpenme si no me supe explicar..

    la tabla de donde extraigo los datos para el reporte es ago como esto:

    transaccion  monto periodo año

    trans1          200     periodo1  2013

    trans2          400     periodo1  2014

    trans3          500     periodo2  2014

    es decir mi tabla no guarda datos tipo Date... (periodo, donde periodo1 corresponde a Enero y asi sucesivamente) por lo que las funciones DateSerial no funcionan para esos campos..Entonces el reporte tiene 2 parametros para que el usuario vea las transacciones del año y el mes  seleccionado .

    Hasta alli todo bien cuando ellos ejecutan el reporte no hay novedad.

    Bien, ahora lo que necesito es sucribir ese reporte para que se envie automaticamente por correo, y para ello necesito que se envie con la informacion del mes en curso.. y no encuentro la manera de darle la instruccion ya que el campo que me indica el mes es tipo texto, espero me puedan ayudar Feliz tarde. :)
    jueves, 29 de mayo de 2014 16:24
  • Me supongo que intentas con algo como esto: 

    DATEPART(MONTH,GETDATE())

    http://msdn.microsoft.com/es-es/library/ms174395.aspx

    jueves, 29 de mayo de 2014 16:33
  • Hola, lo que puedes hacer es agregar un valor predeterminado a tu parametro de la siguiente manera:

    Parameter!Periodo.Value = "Periodo" + CStr(Day(Today()))

    Por otro lado, en el parametro de año harias algo similar

    Parameters!Anho.Value = Year(Today())

    Lo que haces es en el valor predeterminado de cada parametro agregas la funcion.

    Saludos


    John Bocachica | Colombia | http://jboca.blogspot.com http://www.iwco.co

    • Marcado como respuesta Yoss15 jueves, 29 de mayo de 2014 17:58
    jueves, 29 de mayo de 2014 17:29
  • Muchisimas Gracias Funcionó correctamente, solo cambie la palabra Day por Month en la expresion:

    Parameter!Periodo.Value = "Periodo" + CStr(Day(Today()))

    Ahora puedo programar mi suscripcion sin problema!!

    Mil gracias!!! =)

    Saludos desde Venezuela!!

    jueves, 29 de mayo de 2014 18:02