В форме при Me.RecordSource="Select @@spid as s" происходит запрос параметра @spid

Dr. Den
Дата: 24.11.2006 07:16:52
При этом в InputParameters появляется неудаляемое "?=@spid"

Так и должно быть? Как это обойти?
nibbles
Дата: 24.11.2006 07:26:39
Я бы это лечил "оборачиванием" @@spid в хранимую процедуру и использованием этой ХП в RecordSource.
Вопрос: если вместо @@spid использовать @@version - ОНО так же будет себя вести?
nibbles
Дата: 24.11.2006 07:27:59
create proc usp_GetSPID
as begin
    select @@spid as S
end
Dr. Den
Дата: 24.11.2006 07:38:52
C @@version аналогично.
Проблема в том что RecordSource динамичный в зависимости от множества параметров на форме с различными группироваками и джоинами. Обернуть это в ХП не получится.
@@spid использую в постоянных "временных" таблицах. Без этого тоже не знаю как обойтись
Dr. Den
Дата: 24.11.2006 07:40:50
Пока писал понял, что можно сперва получить @@spid а потом его значение вставлять в RecordSource
Но все равно считаю это неправильным поведением ACCESS
nibbles
Дата: 24.11.2006 07:56:02
Dr. Den
C @@version аналогично.
Проблема в том что RecordSource динамичный в зависимости от множества параметров на форме с различными группироваками и джоинами. Обернуть это в ХП не получится.
@@spid использую в постоянных "временных" таблицах. Без этого тоже не знаю как обойтись

А так:
create function dbo.ufGetSPID () returns int
as
begin
	return (@@spid)
end

Dr. Den
Но все равно считаю это неправильным поведением ACCESS

Он просто умный. А у умных это обычное поведение.
nibbles
Дата: 24.11.2006 07:59:56
nibbles
create function dbo.ufGetSPID () returns int
as
begin
	return (@@spid)
end


А в RecordSource'е писать: Select dbo.ufGetSPID() as S