To powinno być naprawdę łatwe, ale nie znalazłem jeszcze prawdziwej zwięzłej odpowiedzi. Mam bardzo prostą procedurę przechowywaną na serwerze sql, która zwraca wartość całkowitą. Wszystko, co chcę zrobić, to uzyskać tę wartość zwracaną w zmiennej do użycia w programie Access.Przypisanie zwracanej wartości procedury składowanej do zmiennej VBA
procedury przechowywanej:
ALTER PROCEDURE [dbo].[out_GetNextID]
@NextSumID integer
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @NextSumID = IDENT_CURRENT('Outage Summary')+IDENT_INCR('Outage Summary')
RETURN @NextSumID
END
Używam ADODB wykonać procedurę przechowywaną, i czuję się głupi do konieczności zapytać, ale w jaki sposób mogę uzyskać dostęp do wartości zwracanej w dostępie po biegnę cmd.Execute ? Z góry dziękuję i przepraszam za kulawe pytanie.
Dziękuję za odpowiedź. Postanowiłem zrezygnować z 'RETURN @ NextSumID' i po prostu użyć' RETURN', ponieważ kluczowym elementem, którego mi brakowało, było po prostu przypisanie zmiennej przez 'NextID = cmd.Parameters (" @ NextSumID ")'. Nie wiem, dlaczego tak trudno było mi to rozgryźć. – philthyfool
Zajęło mi trochę czasu, aby zebrać informacje dla mojej odpowiedzi;) –
Mam wrażenie, że powinna istnieć jakaś lepsza dokumentacja/przykłady gdzieś do podstawowego użycia zmiennych wyjściowych procedury przechowywanej. Naprawdę łatwo jest znaleźć sytuacje, w których ludzie aktualizują zestawy rekordów i inne, ale nie wiele prostych sytuacji. Mam nadzieję, że to pomoże komuś innemu w podobnej sytuacji, jak ja. – philthyfool