Wednesday, June 24, 2015

Rdlc files open in Xml editor, not in Report Designer

O que es lo mismo, tengo un archivo de reporte RDLC en mi proyecto / solución de Visual Studio 9.0 que al darle doble clic o clic derecho Abrir Con no me sale la opción de "Report Designer" y me abre directamente el código XML.

Tal como se ve en la siguiente imagen, debería mostrarse en la primer opción "Report Designer (Default)"


Entonces, lo que probamos primero es ir al menú del Visual Studio Tools --> Import and Export Settings. Activar la opción "Reset all settings" y clic en Next. Ahora, en el caso de que les salga siguiente pantalla:


Después de haber cerrado todas las instancias del Visual Studio, o sea, todo lo abierto que tengamos, nos vamos al CMD y typeamos lo siguiente como se muestra en la imagen, esperamos 1 a 2 minutos y luego finalizamos el proceso mediante el Windows Task Manager

"%programfiles%\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /resetuserdata 


Finalmente, volvemos abrir el IDE, intentamos abrir nuestro reporte y felizmente volveremos a ver una ventanita como la siguiente:


En realidad también esta solución funciona si te sale el siguiente warning (en algún momento de buscar solución al problema de no poder abrir por el diseñador mi reporte, me salió esta advertencia):


Palabras claves:

Package Load Failure
Microsoft.VisualStudio.Xaml. has failed to load properly
CurrentSettings.vssettings is not available for write. You can change this file on the Import and Export Settings Tools Options Page.
The line endings in the following file are not consistent. Do you want to normalize the line endings?
Could not load type 'Microsoft.VisualStudio.DataDesign.SyncDesigner.SynFacade.SyncManager' from assembly ...
Failed to export settings for 'XAML Editor' ...



Friday, June 19, 2015

Reporting Services, mostrar dato solo una vez en una tabla

Tenemos el caso de un reporte, un listado de datos en una tabla común pero hay cierta columna que se va repitiendo a lo largo de todo el reporte y únicamente queremos que se muestre en la primer fila tal como se muestra en la siguiente imagen:


Ok, en el diseño de nuestro reporte hacemos clic derecho sobre la celda que no queremos que se repita y Properties. A continuación se mostrará un pop-up en el que activaremos la opción de "Hide Duplicates" y elegiremos la fuente de datos a la que pertenece nuestra tabla. Y eso es todo.



Friday, January 24, 2014

Convertir cadena a fecha (String to Date) en dd/MM/yyyy

Tengo una fecha en cadena

 Dim strFecha As String= "24/01/2014"



Necesito convertirla a tipo de datos Date. El siguiente pedazo de código realiza dicha conversión y valida si la cadena de entrada evidentemente es una fecha (ya que como se trata de una cadena, podría ser cualquier cosa).



 Dim fecha As Date
 Me.lblMessage.Text = String.Empty
      Try
         fecha = Date.ParseExact(dgvReserva.CurrentCell.Value, "dd/MM/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)

      Catch ex As FormatException
          dgvReserva.CurrentCell.Value = Now.Date.ToString("dd/MM/yyyy")
          Me.lblMessage.Text = "La fecha debe tener formato [dd/mm/yyyy]."
      Catch ex As Exception
          dgvReserva.CurrentCell.Value = Now.Date.ToString("dd/MM/yyyy")
          Me.lblMessage.Text = "La fecha debe tener formato [dd/mm/yyyy]."
      End Try

HaPPy Coding! =)

Wednesday, December 11, 2013

Cuántos domingos hay en un rango de fecha - Query

La pregunta es cómo determinar, dado un rango de fechas, cuántos días domingos hay.
SQL Server no tiene una función propia como tal, así que podemos utilizar la siguiente
función la cual le enviamos el rango de fechas. 
 
 
 CREATE FUNCTION fncCuantosDomingosHay (@inicio DATETIME, @fin DATETIME)
  RETURNS integer
  AS
  BEGIN
  DECLARE @dia_sem INT
  DECLARE @domingos INT
  DECLARE @fecha datetime
   
  SET @fecha=@inicio
  SET @domingos=0
  while @fecha <= @fin
  BEGIN    
   SELECT @dia_sem=datepart(weekday,@fecha) 
   IF @dia_sem=1
     SET @domingos=@domingos+1    
   SELECT @fecha=dateadd(dd,1,@fecha)     
  END
  return @domingos
    END


--EJECUTAMOS LA FUNCIÓN

declare @total integer

exec @total= fncCuantosDomingosHay '2013/10/16','2013/11/15'

print @total

--Resultado: 4

Thursday, December 5, 2013

Primer y último día de la fecha actual / vb.net

Se busca colocar por defecto la fecha con el primer día del mes actual y el último día propiamente al control DateTimePicker.

Me.dtpCierreExitosoDE.Value = Date.Now.AddDays(-Now.Day + 1)
Me.dtpCierreExitosoAL.Value = Date.Now.AddDays(-Now.Day + 1).AddMonths(1).AddDays(-1)
 
Sencillo, no?
 
HaPPy Coding =)