Здравствуйте!
В VBA скрипте макроса использую ADODB для выполнения запросов к БД.
Есть SQL скрипт, который успешно запускается в MS SQL Server Management Studio
Как его сконкатенировать правильно, чтобы он исполнился как единое целое из VBA?
Обычный ConnectionString.Execute "Select 1 as a" выполнить просто. А вот много строчный скрипт с объявлением параметров, созданием временных таблиц и их последующим удалением как исполнить. Ведь если я запущу отдельный Execute для объявления параметра, а в следующем Execute помяну ранее созданные параметр,SQL Server меня не поймет...
В VBA скрипте макроса использую ADODB для выполнения запросов к БД.
Есть SQL скрипт, который успешно запускается в MS SQL Server Management Studio
Код |
---|
declare @div int, @period int set @div = null select @period = 202001 SELECT EMR.LINK, EMR.D_Date, FC.LINK F_Charges, fcd.F_Registr_Pts INTO #EMR1 FROM ee.FD_Paysheets FC INNER JOIN ee.FVT_Paysheets_Details FCD ON FC.LINK = FCD.F_Paysheets AND FC.N_Period = @PERIOD INNER JOIN SD_Divisions SD ON SD.LINK = FC.F_Division AND (SD.LINK = 5 OR SD.F_Division = 5) AND (fc.F_Division = @div or @div is null) INNER JOIN ED_Meter_Readings EMR ON EMR.LINK = FCD.F_Meter_Readings |
Обычный ConnectionString.Execute "Select 1 as a" выполнить просто. А вот много строчный скрипт с объявлением параметров, созданием временных таблиц и их последующим удалением как исполнить. Ведь если я запущу отдельный Execute для объявления параметра, а в следующем Execute помяну ранее созданные параметр,SQL Server меня не поймет...
желаю всем счастья