SQL y Crystal Report - Por favor ayuda urgente !!!!!
Tengo dos tablas relacionadas en SQL pero el campo de la relacion permite grabar nulos, al momento de crear el reporte en Crystal agrego las dos tablas relacionadas y cuando visualizo el reporte todo sale bien cuando el campo de la relacion tiene datos pero cuando es nulo el reporte no me muestra ninguna informacion en ninguno de los demas campos del reporte.
Por favor, alguien que me AYUDE a solucionar ese problema
Por favor, alguien que me AYUDE a solucionar ese problema
Trata de trabajar con procedimiento de almacenado... en el cual vas a realizar la consulta que deseas, enviandole los parametros que debes... ejemplo
***************************************
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spreptusuarioempresa]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[spreptusuarioempresa]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
/****** Objeto: procedimiento almacenado dbo.sprepusuarioempresa fecha de la secuencia de comandos: 06/01/2005 19:47:22 ******/
CREATE PROCEDURE dbo.spreptusuarioempresa
(@desde as varchar(10),
@hasta as varchar(10))
AS
SELECT TEU.cid_empre as cid_empre , cnombre ,TEU.cid_usua as cid_usua, TEU.cid_usuari, TU.cnombres
FROM tempresas AS TE INNER JOIN tempresasusuario AS TEU ON TE.cid_empre = TEU.cid_empre
INNER JOIN tusuarios AS TU on TU.cid_usua = TEU.cid_usua
WHERE TEU.cid_usua between @desde and @hasta
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
*********************************
Este procemiento lo creas en la base de datos, el cual va a semejar a tu tabla (la que vas a conecatar al reporte), o sea es una consulta...
Por ultimo lo que tienes que hacer es enviarle los parametros desde el form o webform al reporte
con la siguiente rutina
crreportdocument.SetParameterValue("@desde", pcdesde)
crreportdocument.SetParameterValue("@hasta", pchasta)
Si te das cuenta el filtrado lo haces en el procedimientol....
***************************************
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spreptusuarioempresa]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[spreptusuarioempresa]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
/****** Objeto: procedimiento almacenado dbo.sprepusuarioempresa fecha de la secuencia de comandos: 06/01/2005 19:47:22 ******/
CREATE PROCEDURE dbo.spreptusuarioempresa
(@desde as varchar(10),
@hasta as varchar(10))
AS
SELECT TEU.cid_empre as cid_empre , cnombre ,TEU.cid_usua as cid_usua, TEU.cid_usuari, TU.cnombres
FROM tempresas AS TE INNER JOIN tempresasusuario AS TEU ON TE.cid_empre = TEU.cid_empre
INNER JOIN tusuarios AS TU on TU.cid_usua = TEU.cid_usua
WHERE TEU.cid_usua between @desde and @hasta
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
*********************************
Este procemiento lo creas en la base de datos, el cual va a semejar a tu tabla (la que vas a conecatar al reporte), o sea es una consulta...
Por ultimo lo que tienes que hacer es enviarle los parametros desde el form o webform al reporte
con la siguiente rutina
crreportdocument.SetParameterValue("@desde", pcdesde)
crreportdocument.SetParameterValue("@hasta", pchasta)
Si te das cuenta el filtrado lo haces en el procedimientol....
