2012-08-06 28 views
1

我有一个访问数据库,我通过asp页面通过vbscript访问。我需要查询数据库并返回一个记录集,修改记录集中的一些数据,然后执行一次数据透视。我该如何去执行修改后的记录集上的数据透视表?执行数据透视前修改记录集

我有记录集正在返回和数据修改已完成,但不知道如何执行该数据透视。数据修改涉及检查记录集中的每个项目(计划请求)以查看它是否跨越过滤日期范围。如果是,则调整开始和/或结束时间并重新计算请求的时间。不是在SQL查询本身中可以完成的事情。

+0

您的意思是说,您不知道如何编写交叉表查询或交叉表结果中是否存在错误? – Fionnuala 2012-08-07 09:22:54

回答

0

一些SQL变体有它们自己的PIVOT功能,我不知道ACCESS,但这里是一个在VBScript中的通用旋转函数。我用户数组在这里,没有vbscript多维数组。让我知道你是否需要这样一个版本。

arr = Array(_ 
    Array(1,2,3),_ 
    Array(4,5,6)_ 
) 

for each line in arr 
    wscript.echo join(line) 
next 

'1 2 3 
'4 5 6 

pivotted = pivot(arr) 

function pivot(arr) 
    dim arr2(), temp() 
    redim arr2(ubound(arr(0))) 
    for col = 0 to ubound(arr(0)) 
    redim temp(ubound(arr)) 
    for row = 0 to ubound(arr) 
     temp(row) = arr(row)(col) 
    next 
    arr2(col) = temp 
    next 
    pivot = arr2 
end function 

for each line in pivotted 
    wscript.echo join(line) 
next 

'1 4 
'2 5 
'3 6