请访问以下链接。
我想计算每列的值(2015年7月,2015年8月)。公式列出如下。
MMMYYYY =账面价值*每项活动的天数
例如第1行:2015年7月= 18937 * 23(1/7 - 23/7),
第2行:2015年7月= 20503 * 9(23 / 7-31 / 7),2015年8月= 20503 * 20(1 / 8-20 / 8)
*我编写了以下代码以尝试迎合第一行。但是它发现了一条错误消息“对象引用没有设置为对象的实例”?任何人都可以告诉我为什么会出现这条消息
select * into #tempcost1 from tempcost
Declare @i int
Set @i =1
Declare @numofrow int
Set @numofrow = (Select COunt(*) FROM #tempcost1)
Declare @startmonth datetime
Declare @monthdiff int
Declare @update1 varchar(max)
Declare @month1 varchar(20)
Declare @activitysate datetime
While (@i<=@numofrow)
Begin
Set @monthdiff= (Select diff_month FROM #tempcost1 where RowNumber= @i)
Set @activitysate = (Select activity_startdate FROM #tempcost1 where RowNumber= @i)
Set @month1= SUBSTRING (convert(varchar, @activitysate, 100),1,3) +
SUBSTRING (convert(varchar, @activitysate, 100),8,4 )
if (@monthdiff = 1)
Begin
Set @update1 = 'Update #tempcost1 set ' + CAST(@month1 as varchar) + ' =(Select bookrate from #tempcost1 where Rownumber=' + cast(@i as varchar) +') ' + 'where RowNumber=' + cast(@i as varchar)
exec(@update1)
End
Set @i = @i +1
End