I have got spComparison_GL vsMeas and I need to use this in VB instead of sql. How do I go about declaring variables and making sure that I can still get the same results as I would in a stored procedure. I tried using ADODC which didn't work. Below is the SP
[code=sql]
CREATE proc dbo.FIN_spCompa rison_GLvsMeas
@BranchID varchar(4)
as
select EB.BranchID,
ACC.AccountID,
sum (GL.Amt) as 'GL_ActualYTD',
Isnull(ABB.ValB udgetYTD, 0) ValBudgetYTD,
Isnull(Round(AB B.ValActualYTD, 2), 0) * -1 Meas_ValActualY TD,
Round(IsNull(Su m(GL.Amt), 0) - Isnull((ABB.Val ActualYTD * -1), 0), 2) as Diff_Act_GLvsMe as,
Round(IsNull(Su m(GL.Amt), 0) - Isnull((ABB.Val BudgetYTD * -1), 0), 2) as Diff_Bud_GLvsMe as,
EB.Branch, EB.AreaID, EB.Area,
EB.RegionID, EB.Region, EB.DivisionID, EB.Division,
EB.Cluster, EB.CLID, EB.[Exec], EB.SBU, EB.BU,
ACC.AccountName , ACC.SubHeaderNa me,
SUM(CASE GL.cycl_num WHEN 200801 THEN GL.amt ELSE 0 END) AS A1,
SUM(CASE GL.cycl_num WHEN 200802 THEN GL.amt ELSE 0 END) AS A2,
SUM(CASE GL.cycl_num WHEN 200803 THEN GL.amt ELSE 0 END) AS A3,
SUM(CASE GL.cycl_num WHEN 200804 THEN GL.amt ELSE 0 END) AS A4,
SUM(CASE GL.cycl_num WHEN 200805 THEN GL.amt ELSE 0 END) AS A5,
SUM(CASE GL.cycl_num WHEN 200806 THEN GL.amt ELSE 0 END) AS A6,
SUM(CASE GL.cycl_num WHEN 200807 THEN GL.amt ELSE 0 END) AS A7,
SUM(CASE GL.cycl_num WHEN 200808 THEN GL.amt ELSE 0 END) AS A8,
SUM(CASE GL.cycl_num WHEN 200809 THEN GL.amt ELSE 0 END) AS A9,
SUM(CASE GL.cycl_num WHEN 200810 THEN GL.amt ELSE 0 END) AS A10,
SUM(CASE GL.cycl_num WHEN 200811 THEN GL.amt ELSE 0 END) AS A11,
SUM(CASE GL.cycl_num WHEN 200812 THEN GL.amt ELSE 0 END) AS A12,
Isnull(ABBPM.B1 , 0) B1, Isnull(ABBPM.B2 , 0) B2, Isnull(ABBPM.B3 , 0) B3, Isnull(ABBPM.B4 , 0) B4, Isnull(ABBPM.B5 , 0) B5, Isnull(ABBPM.B6 , 0) B6,
Isnull(ABBPM.B7 , 0) B7, Isnull(ABBPM.B8 , 0) B8, Isnull(ABBPM.B9 , 0) B9, Isnull(ABBPM.B1 0, 0) B10, Isnull(ABBPM.B1 1, 0) B11, Isnull(ABBPM.B1 2, 0) B12
from GL_Trans_YTD GL
left outer join Accounts_vw ACC
on ACC.AccountID = GL.AcID
left outer join Execbbranches_v w EB
on EB.BranchID = GL.BrID
left outer join tblValActBudBas PerMonth ABBPM
on ABBPM.BranchID = GL.BrID
and ABBPM.AccountID = GL.AcID
left outer join tblValActBudBas ABB
on ABB.BranchID = GL.BrID
and ABB.AccountID = GL.AcID
where GL.BrID = @BranchID
and GL.AcID > 6000
group by GL.AcID,
ACC.AccountID, ACC.AccountName , ACC.SubHeaderNa me,
EB.BranchID, EB.Branch, EB.AreaID, EB.Area,
EB.RegionID, EB.Region, EB.DivisionID, EB.Division,
EB.Cluster, EB.CLID, EB.[Exec], EB.SBU, EB.BU,
ABBPM.B1, ABBPM.B2, ABBPM.B3, ABBPM.B4, ABBPM.B5, ABBPM.B6,
ABBPM.B7, ABBPM.B8, ABBPM.B9, ABBPM.B10, ABBPM.B11, ABBPM.B12,
ABB.ValActualYT D, ABB.ValBudgetYT D
order by 6, 7, 2
GO
[/code]
Thanks in advice for helping
[code=sql]
CREATE proc dbo.FIN_spCompa rison_GLvsMeas
@BranchID varchar(4)
as
select EB.BranchID,
ACC.AccountID,
sum (GL.Amt) as 'GL_ActualYTD',
Isnull(ABB.ValB udgetYTD, 0) ValBudgetYTD,
Isnull(Round(AB B.ValActualYTD, 2), 0) * -1 Meas_ValActualY TD,
Round(IsNull(Su m(GL.Amt), 0) - Isnull((ABB.Val ActualYTD * -1), 0), 2) as Diff_Act_GLvsMe as,
Round(IsNull(Su m(GL.Amt), 0) - Isnull((ABB.Val BudgetYTD * -1), 0), 2) as Diff_Bud_GLvsMe as,
EB.Branch, EB.AreaID, EB.Area,
EB.RegionID, EB.Region, EB.DivisionID, EB.Division,
EB.Cluster, EB.CLID, EB.[Exec], EB.SBU, EB.BU,
ACC.AccountName , ACC.SubHeaderNa me,
SUM(CASE GL.cycl_num WHEN 200801 THEN GL.amt ELSE 0 END) AS A1,
SUM(CASE GL.cycl_num WHEN 200802 THEN GL.amt ELSE 0 END) AS A2,
SUM(CASE GL.cycl_num WHEN 200803 THEN GL.amt ELSE 0 END) AS A3,
SUM(CASE GL.cycl_num WHEN 200804 THEN GL.amt ELSE 0 END) AS A4,
SUM(CASE GL.cycl_num WHEN 200805 THEN GL.amt ELSE 0 END) AS A5,
SUM(CASE GL.cycl_num WHEN 200806 THEN GL.amt ELSE 0 END) AS A6,
SUM(CASE GL.cycl_num WHEN 200807 THEN GL.amt ELSE 0 END) AS A7,
SUM(CASE GL.cycl_num WHEN 200808 THEN GL.amt ELSE 0 END) AS A8,
SUM(CASE GL.cycl_num WHEN 200809 THEN GL.amt ELSE 0 END) AS A9,
SUM(CASE GL.cycl_num WHEN 200810 THEN GL.amt ELSE 0 END) AS A10,
SUM(CASE GL.cycl_num WHEN 200811 THEN GL.amt ELSE 0 END) AS A11,
SUM(CASE GL.cycl_num WHEN 200812 THEN GL.amt ELSE 0 END) AS A12,
Isnull(ABBPM.B1 , 0) B1, Isnull(ABBPM.B2 , 0) B2, Isnull(ABBPM.B3 , 0) B3, Isnull(ABBPM.B4 , 0) B4, Isnull(ABBPM.B5 , 0) B5, Isnull(ABBPM.B6 , 0) B6,
Isnull(ABBPM.B7 , 0) B7, Isnull(ABBPM.B8 , 0) B8, Isnull(ABBPM.B9 , 0) B9, Isnull(ABBPM.B1 0, 0) B10, Isnull(ABBPM.B1 1, 0) B11, Isnull(ABBPM.B1 2, 0) B12
from GL_Trans_YTD GL
left outer join Accounts_vw ACC
on ACC.AccountID = GL.AcID
left outer join Execbbranches_v w EB
on EB.BranchID = GL.BrID
left outer join tblValActBudBas PerMonth ABBPM
on ABBPM.BranchID = GL.BrID
and ABBPM.AccountID = GL.AcID
left outer join tblValActBudBas ABB
on ABB.BranchID = GL.BrID
and ABB.AccountID = GL.AcID
where GL.BrID = @BranchID
and GL.AcID > 6000
group by GL.AcID,
ACC.AccountID, ACC.AccountName , ACC.SubHeaderNa me,
EB.BranchID, EB.Branch, EB.AreaID, EB.Area,
EB.RegionID, EB.Region, EB.DivisionID, EB.Division,
EB.Cluster, EB.CLID, EB.[Exec], EB.SBU, EB.BU,
ABBPM.B1, ABBPM.B2, ABBPM.B3, ABBPM.B4, ABBPM.B5, ABBPM.B6,
ABBPM.B7, ABBPM.B8, ABBPM.B9, ABBPM.B10, ABBPM.B11, ABBPM.B12,
ABB.ValActualYT D, ABB.ValBudgetYT D
order by 6, 7, 2
GO
[/code]
Thanks in advice for helping
Comment