LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 119
Default Amend SQL Query with VBA

I've got a SQL query in an Excel spreadsheet.

Unfortunately, three lines are time dependent and need to be updated on a
monthly basis.

The query follows:

/*************/

select Sub.AdviserDisplay,

sum(Sub.YTDExistingClients) as YTDExistingClients,

sum(Sub.YTDNewClients) as YTDNewClients,

sum(Sub.YTDAllClients) as YTDAllClients,

sum(Sub.PYTDExistingClients) as PYTDExistingClients,

sum(Sub.PYTDNewClients) as PYTDNewClients,

sum(Sub.PYTDAllClients) as PYTDAllClients

from

(

--Existing Clients

select AdviserDisplay,

count(distinct Assured1Id) as YTDExistingClients,

0 as YTDNewClients,

0 as YTDAllClients,

0 as PYTDExistingClients,

0 as PYTDNewClients,

0 as PYTDAllClients

from fct_Policy f

inner join vdw_TimeCalendar t

on f.DateTransactionId = t.TimeId

inner join vdw_Adviser a

on f.AdviserId = a.AdviserId

where t.timemonthkey between 200701 and 200702

and f.ExistingClient in (1,2)

group by AdviserDisplay



union all



--New Clients

select AdviserDisplay,

0 as YTDExistingClients,

count(distinct Assured1Id) as YTDNewClients,

0 as YTDAllClients,

0 as PYTDExistingClients,

0 as PYTDNewClients,

0 as PYTDAllClients

from fct_Policy f

inner join vdw_TimeCalendar t

on f.DateTransactionId = t.TimeId

inner join vdw_Adviser a

on f.AdviserId = a.AdviserId

where t.timemonthkey between 200701 and 200702

and f.ExistingClient = 0

group by AdviserDisplay



union all



--All Clients

select AdviserDisplay,

0 as YTDExistingClients,

0 as YTDNewClients,

count(distinct Assured1Id) as YTDAllClients,

0 as PYTDExistingClients,

0 as PYTDNewClients,

0 as PYTDAllClients

from fct_Policy f

inner join vdw_TimeCalendar t

on f.DateTransactionId = t.TimeId

inner join vdw_Adviser a

on f.AdviserId = a.AdviserId

where t.timemonthkey between 200701 and 200702

group by AdviserDisplay



union all



--Existing Clients Previous Year

select AdviserDisplay,

0 as YTDExistingClients,

0 as YTDNewClients,

0 as YTDAllClients,

count(distinct Assured1Id) as PYTDExistingClients,

0 as PYTDNewClients,

0 as PYTDAllClients

from fct_Policy f

inner join vdw_TimeCalendar t

on f.DateTransactionId = t.TimeId

inner join vdw_Adviser a

on f.AdviserId = a.AdviserId

where t.timemonthkey between 200601 and 200602

and f.ExistingClient in (1,2)

group by AdviserDisplay



union all



--New Clients Previous Year

select AdviserDisplay,

0 as YTDExistingClients,

0 as YTDNewClients,

0 as YTDAllClients,

0 as PYTDExistingClients,

count(distinct Assured1Id) as PYTDNewClients,

0 as PYTDAllClients

from fct_Policy f

inner join vdw_TimeCalendar t

on f.DateTransactionId = t.TimeId

inner join vdw_Adviser a

on f.AdviserId = a.AdviserId

where t.timemonthkey between 200601 and 200602

and f.ExistingClient = 0

group by AdviserDisplay



union all



--All Clients Previous Year

select AdviserDisplay,

0 as YTDExistingClients,

0 as YTDNewClients,

0 as YTDAllClients,

0 as PYTDExistingClients,

0 as PYTDNewClients,

count(distinct Assured1Id) as PYTDAllClients

from fct_Policy f

inner join vdw_TimeCalendar t

on f.DateTransactionId = t.TimeId

inner join vdw_Adviser a

on f.AdviserId = a.AdviserId

where t.timemonthkey between 200601 and 200602

group by AdviserDisplay



) sub

group by Sub.AdviserDisplay

order by Sub.AdviserDisplay

/***************/

Date entries such as 200701 (Jan 2007) would need to be adjusted.

As there are a lot of these and it would be easy to get wrong, I'd like to
automate update of these.

Can I use VBA or a similar tool for this purpose.

Let's say the dates required are currently sat in cells somewhere in the
workbook - for the sake of the example, Master!A1, B1 etc.

Thanks for any guidance or suggestions you can provide.

Cheers,

Tom.
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
amend a VB code please Morgan Excel Discussion (Misc queries) 0 March 3rd 10 11:17 PM
Amend Formula colin Excel Discussion (Misc queries) 8 July 13th 09 12:36 PM
Amend year E[_2_] Excel Worksheet Functions 4 January 15th 09 03:51 PM
amend formula [email protected] Excel Discussion (Misc queries) 1 August 20th 08 05:02 AM
Amend code gavmer[_75_] Excel Programming 1 September 22nd 04 12:57 AM


All times are GMT +1. The time now is 10:28 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"