Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Проблема с выполнением сохр. процедуры в Access  [new]
Sven
Member

Откуда:
Сообщений: 28
В Query Analyzer написал код, который там прекрасно выполняется. Когда сохранил его как "сохраненную процедуру" и попытался выполнить в Access выдало сообщение "процедура выполнена успешно, но ни одной записи невозвращено", хотя должно было. Самому разобраться не получилось. Может кто подскажет что делаю не так?
Access 2003 (adp), SQLServer 2000
Код процедуры:

CREATE PROCEDURE dbo.plp_BalancePostEtap
AS
declare @startDate as int
declare @endDate as int
declare @sumToPay as money
declare @sumPay as money
declare @sum as money
declare @balance as money
declare @a as int
declare @b as int
declare @pKod as int
declare @Plp_table table
(
	Номер varchar(30) null,
	Дата datetime null,
	ДО datetime null,
	СуммаИн money null,
	Сумма money null,
	ДатаПл datetime null,
	КодЗаказа int null
)
declare @Inv_table table
(
	Номер varchar(30) null,
	Дата datetime null,
	СуммаИн money null
)
declare @Balance_table table
(
	Период datetime,
	кОплате money null,
	Оплачено money null,
	Баланс money null
)
set @pKod=4
INSERT INTO @Plp_table 
	SELECT dbo.inv_InvoiceList.Номер, dbo.inv_InvoiceList.Дата, dbo.inv_InvoiceList.ДО, dbo.inv_InvoiceList.Сумма AS СуммаИн, 
                      dbo.ПлатежиПост_Док.Сумма, dbo.ПлатежиПост.Дата AS ДатаПл,                    
                       dbo.inv_InvoiceList.КодЗаказа
	FROM         dbo.inv_InvoiceList LEFT OUTER JOIN
                      dbo.ПлатежиПост_Док INNER JOIN
                      dbo.ПлатежиПост ON dbo.ПлатежиПост_Док.КодПлатежа = dbo.ПлатежиПост.КодПлатежа ON 
                      dbo.inv_InvoiceList.КодИнвойса = dbo.ПлатежиПост_Док.КодДокумента
	WHERE dbo.inv_InvoiceList.КодИнвойса IN (SELECT dbo.ИнвПост_Товары.КодИнвойса
			FROM dbo.Товары INNER JOIN
                      	dbo.ИнвПост_Товары ON dbo.Товары.КодТовара = dbo.ИнвПост_Товары.КодТовара WHERE Поставщик=@pKod)

INSERT INTO @INV_table SELECT Distinct Номер, Дата, СуммаИн From @Plp_table WHERE Номер Not Like 'pf%'


SELECT @startDate=DATEPART(yy, MIN(Дата)) FROM @Plp_table
SET @endDate=DATEPART(yy, getdate())
SET @b=@endDate-@startDate
SET @a=0
SET @balance=0

while @a<=@b
	begin

		SELECT DISTINCT @sumToPay=isnull(sum(СуммаИн),0) FROM @INV_table 
		WHERE DATEDIFF(dd, дата, DATEADD(yy,@a,'1/9/' + cast(@startDate AS varchar(8)))) between 0 AND 365 
		
		SELECT @sumPay=isnull(sum(Сумма),0) FROM @Plp_table 
		WHERE DATEDIFF(dd, дата, DATEADD(yy,@a,'1/9/' + cast(@startDate AS varchar(8)))) between 0 AND 365 
		
		SET @balance=@balance + @sumToPay - @sumPay
		
		insert into @Balance_table (Период, кОплате, Оплачено, Баланс)
		VALUES (
			DATEADD(yy,@a,'1/9/' + cast(@startDate AS varchar(8))),
			@sumToPay,
			@sumPay,
			@balance)
	
		SET @a=@a+1
		continue
end

SELECT * FROM @Balance_table
GO
24 июн 05, 14:07    [1647568]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выполнением сохр. процедуры в Access  [new]
1234
Guest
SET NOCOUNT ON
24 июн 05, 14:13    [1647599]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выполнением сохр. процедуры в Access  [new]
Sven
Member

Откуда:
Сообщений: 28
Точно! Спасибо!
24 июн 05, 14:14    [1647612]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить