Pb pour récuperer la valeur retournée par une SP SQL

Pb pour récuperer la valeur retournée par une SP SQL - VB/VBA/VBS - Programmation

Marsh Posté le 04-05-2005 à 15:56:55    

Alors voilà j'ai galéré un petit moment sur ce problème donc maintenant que j'ai la solution je vous en fait profiter...
Le problème vient d'un bug en VBa qui veut que tout argument passé en OUTPUT dans une procédure stockée SQL et qui doit retourner une valeur retourne NULL à la place.
Ainsi, il est plutôt difficile de savoir quand l'éxecution de la fameuse procédure stockée est arrivée à son terme ...  
 
Il faut donc contourner le problème comme suit :
 procédure initiale sous sql  
   create procedure sp_plop  
       @debut varchar(30)
       @fin varchar(30) output
       as
       begin
        set @fin='valeur : ' + @debut
       end;

 procédure intermédiaire  
   create procedure sp_plop2  
       @texte varchar(30)
       as
       begin
        declare @fin varchar(30)
        execute sp_plop @texte, @fin out
        select @fin
       end;

 Appel de la SP dans Access  
   Sub get_proc()  
       Dim rst As New ADODB.Recordset
       Dim strSQL As String
       Dim param As String
       param = "plop"
       rst.Open "sp_plop2 " + param, CurrentProject.Connection, adOpenStatic
       rst.MoveFirst
        strSQL = rst(0)
        strSQL = rst.Fields.Item(0)
      End Sub

 
strSQL contient maintenant la valeur retournée par la procédure sp_plop :D


Message édité par grandpretre le 29-07-2005 à 13:00:15
Reply

Marsh Posté le 04-05-2005 à 15:56:55   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed