Bonjour,

J'essai d'appeler une procédure stocké en Oracle et Access me retourne toujours ce message : Aucune valeur donnée pour un ou plusieurs des paramètres requis.


Voici mon code VBA

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Dim cnx As New ADODB.Connection
Dim cmd As ADODB.Command
 
   With cnx
        '.ConnectionString = "DSN=FIP_ORA;UID=u9917;PWD=hummer01;DRIVER=msdaora;Server=devor1b"
        .Open "Provider=MSDAORA.1;Password=hummer01;User ID=u9917;Server=devor1b;Data Source=DEVOR1B"
        '.Open
     End With
 
   Set cmd = New ADODB.Command
 
   With cmd
        .ActiveConnection = cnx
 
        .CommandText = "AFD.EXG1_EmisLettrTypCnsul.valid_mode_difsn_mdl_doc(?,?,?)"
        .Parameters.Append .CreateParameter("p_cod_ret", adNumeric, adParamOutput)
        .Parameters.Append .CreateParameter("p_med_no_mode_emis_doc", adNumeric, adParamInput)
        .Parameters.Append .CreateParameter("p_mdo_no_seq_mdl_doc", adNumeric, adParamInput)
        .Parameters(0).Value = 2
        .Parameters(1).Value = 183
        .CommandType = adCmdStoredProc
   End With
   Set rstADO = New ADODB.Recordset
   rstADO = cmd.Execute


Et voici ma Procédure Stocké
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
PROCEDURE valid_mode_difsn_mdl_doc(p_cod_ret              OUT VARCHAR2
                                  ,p_med_no_mode_emis_doc IN  ben_mode_emis_typ_doc.med_no_mode_emis_doc%TYPE
                                  ,p_mdo_no_seq_mdl_doc   IN  ben_typ_doc_prcod_mdl_doc.mdo_no_seq_mdl_doc%TYPE)
IS
BEGIN
   p_cod_ret := '0';
 
   ben.ben3510a.valid_mode_difsn_mdl_doc(p_cod_ret,
                                         p_med_no_mode_emis_doc,
                                         p_mdo_no_seq_mdl_doc);
 
   IF p_cod_ret = '11654' THEN
        p_cod_ret := '12977';
   ELSE
        IF p_cod_ret = '1299' THEN
           p_cod_ret := '3295';
        END IF;
   END IF;
 
EXCEPTION
 
   WHEN OTHERS THEN
 
      -- Erreur imprévue @1 @2
         p_cod_ret := '3295@' || gl_cte_package || '_valid_mode_difsn_mdl_doc@' ||
                             LOWER(SUBSTR(SQLERRM, 1, 500));
 
END valid_mode_difsn_mdl_doc;

Merci de m'aider