找回密码
 注册成为天翎用户
查看: 974|回复: 7

[已解决] 视图存储过程过滤导出excel失败

  [复制链接]
常州易龙信息 发表于 2014-6-24 21:12:27 | 显示全部楼层 |阅读模式
本帖最后由 dan 于 2014-8-12 18:32 编辑

QQ截图20140624211107.png

USE [honland]
GO
/****** Object:  StoredProcedure [dbo].[SP_Getkhhz]    Script Date: 06/24/2014 20:35:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[SP_Getkhhz] @Bdate nvarchar(200),@EDate nvarchar(200),@name nvarchar(200),@noname nvarchar(max)
AS
  BEGIN
      SET NOCOUNT ON;

      DECLARE @SQL1 NVARCHAR(4000),
              @SQL2 NVARCHAR(4000)


      CREATE TABLE #khhz
        (
           name nvarchar(200),
           hk numeric(18,2)
        )

      ----开单总额
      SET @SQL1='select   item_客户,item_开单总额 from tlk_销售开单 where 1=1 ' ;

      IF (@Bdate <>'' and @Edate <>'')
        BEGIN
            SET @SQL1=@SQL1 + ' and substring( convert(varchar(10),item_开单日期,120),1,10)>=''' + @Bdate + '''  and substring( convert(varchar(10),item_开单日期,120),1,10)<=''' + @Edate + '''  '
        END
      IF @name <> ''
      BEGIN
                SET @SQL1=@SQL1+' and item_客户 like  ''%' + @name + '%''';
      END
      IF @noname <> ''
      BEGIN
                SET @SQL1=@SQL1+' and item_客户 not in ( select   *   from   dbo.f_split(''' + @noname + ''','';''))';
      END
print @sql1
      ----退货总额
      SET @SQL2='select   item_客户,-item_退货总额 from tlk_销售退货 where 1=1 ' ;

      IF (@Bdate <>'' and @Edate <>'')
        BEGIN
            SET @SQL2=@SQL2 + ' and substring( convert(varchar(10),item_退货日期,120),1,10)>=''' +  @Bdate+ '''  and substring( convert(varchar(10),item_退货日期,120),1,10)<=''' + @Edate + '''  '
        END
      IF @name <> ''
      BEGIN
                SET @SQL2=@SQL2+' and item_客户 like ''%'+@name+'%''';
      END
      IF @noname <> ''
      BEGIN
                SET @SQL2=@SQL2+' and item_客户 not in ( select   *   from   dbo.f_split(''' + @noname + ''','';''))';
      END
print @sql2

          SET @SQL1='insert into #khhz ' + @SQL1
      SET @SQL2='insert into #khhz ' + @SQL2

      EXEC (@SQL1)

      EXEC (@SQL2)


      SELECT top 10000 name as item_客户名称,Sum(hk) AS item_货款
      FROM   #khhz
      GROUP  BY name
      ORDER BY name
  END



//视图过滤
var startday=getItemValueAsString("日期始");
var endday=getItemValueAsString("日期终");
var name=getItemValueAsString("客户名称");
var glkh=getItemValueAsString("过滤客户");
if(startday==""){
startday=" ";
}
if(endday==""){
endday=" ";
}
if(name==""){
name=" ";
}
if(glkh==""){
glkh=" ";
}
var rtn="exec SP_Getkhhz  '"+startday+ "','" +endday+"','" +name+"','" +glkh+"'";

println(rtn);
rtn;
nice 发表于 2014-7-4 14:02:04 | 显示全部楼层
本帖最后由 nice 于 2014-7-11 10:02 编辑

你好我忘记你的Q了 你把你的Q加在下面吧.119454216
回复

使用道具 举报

david 发表于 2014-7-16 16:34:12 | 显示全部楼层
用户不在公司,待明天会公司后再与我联系。
回复

使用道具 举报

david 发表于 2014-7-17 11:25:34 | 显示全部楼层
用户不在办公室,约定下午发数据库给我,本地调试。
回复

使用道具 举报

david 发表于 2014-7-18 09:53:32 | 显示全部楼层
已经拿到用户数据,本地将验证楼主的问题。
回复

使用道具 举报

david 发表于 2014-7-21 16:44:38 | 显示全部楼层
本地环境已经搭建,联系楼主重现问题时,联系不到楼主。请楼主与我联系。
回复

使用道具 举报

david 发表于 2014-7-23 16:59:27 | 显示全部楼层
视图过滤中用null代替空值,并在存储过程中做判断,如果是null值就不执行筛选条件。
回复

使用道具 举报

david 发表于 2014-8-12 15:27:42 | 显示全部楼层
用户在Q上反馈可以结贴了,感谢楼主反馈该贴结贴。
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 21:35

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表