IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Problème d'appel à une procédure stockée


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 131
    Points
    131
    Par défaut Problème d'appel à une procédure stockée
    Bonjour à tous ,

    grâce à ce forum, j'ai réussi à avancer sur l'appel d'une procédure stocké mais il me reste un problème car il ne reconnais pas ma procédure...
    Voici le code que j'ai réalisé :

    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
    30
    31
    Private Sub Commande8_Click()
        Dim NomProjet As String
        Dim Proc As String
        Dim Cmd As ADODB.Command
        Dim ProjetID As ADODB.Parameter
     
        Set Cmd = New ADODB.Command
        Cmd.ActiveConnection = CurrentProject.Connection
        Cmd.CommandType = adCmdStoredProc
        If Cadre11.Value = 1 Then
            Proc = "PAC_PASSAGE_FLUX.PRC_PASSAGE_QUALIF"
        Else
            If Cadre11.Value = 2 Then
                Proc = "PAC_PASSAGE_FLUX.PRC_PASSAGE_PROD"
            Else
                Proc = "PAC_PASSAGE_FLUX.PRC_PASSAGE_ARCHIVE"
            End If
        End If
        Cmd.CommandText = Proc
     
        NomProjet = Form_TRANS_INTERFACES_INT_PROJET.PRO_ID.Value
        Set ProjetID = Cmd.CreateParameter("PROJET_NOM", adVarChar, , 10)
        Cmd.Parameters.Append ProjetID
        ProjetID.Value = NomProjet
     
        Cmd.Execute
     
        Set Cmd = Nothing
        Set ProjetID = Nothing
     
    End Sub
    Et voici l'erreur à laquelle je suis confrontée :

    "Le moteur de la base de données Microsoft Jet ne peut pas trouver la table ou la requête source "PAC_PASSAGE_FLUX". Assurez-vous qu'elle existe et qu'elle est correctement orthographiée."

    Voici la déclaration du package sous Oracle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE OR REPLACE  PACKAGE "TRANS_INTERFACES"."PAC_PASSAGE_FLUX" 
        AS
     
    /* PERMET D'AUTOMATISER LE PASSAGE DES FLUX EN QUALIFICATION PRODUCTION OU ARCHIVAGE */
     
      PROCEDURE PRC_PASSAGE_QUALIF(PROJET_NOM IN VARCHAR2);
      PROCEDURE PRC_PASSAGE_PROD(PROJET_NOM IN VARCHAR2);
      PROCEDURE PRC_PASSAGE_ARCHIVE(PROJET_NOM IN VARCHAR2);
     
     
    END PAC_PASSAGE_FLUX;
    J'ai essayé en entrant seulement le nom de la procédure sans le nom du package mais il me fait la même erreur. Je ne sais as d'où l'erreur pourrais provenir.
    Merci d'avance de m'aider.

    champijulie.

  2. #2
    Membre habitué Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 131
    Points
    131
    Par défaut
    En fait, je suis passée par un autre chemin afin d'avoir tous les paramètres de connexion possible .
    Je vous transmet le code pour ceux et celles que cela intéresse :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Private Sub Commande8_Click()
     
        Dim oSession As OracleInProcServer.OraSessionClass
        Dim oDb As OracleInProcServer.OraDatabase
        Dim userPass As String
        Dim empno As OracleInProcServer.OraParamArray
        Dim ename As OracleInProcServer.OraParamArray
        Dim job As OracleInProcServer.OraParamArray
        Dim sqlStatement As String
        Dim Proc As String
        Dim oSql As OracleInProcServer.OraSqlStmt
        Dim st As OracleInProcServer.OraParameters
        Dim st1 As OracleInProcServer.OraParameter
        Dim counter As Integer
     
        Set oSession = CreateObject("OracleInProcServer.XOraSession")
        userPass = "Utilisateur/MotdePasse"
        Set oDb = oSession.OpenDatabase("TRANS", userPass, 1)
     
        If Cadre11.Value = 1 Then
            Proc = "Begin PAC_PASSAGE_FLUX.PRC_PASSAGE_QUALIF(:PROJET_NOM); End;"
            oDb.Parameters.Add "PROJET_NOM", Form_TRANS_INTERFACES_INT_PROJET.PRO_ID.Value, ORAPARM_INPUT
            oDb.Parameters("PROJET_NOM").serverType = ORATYPE_VARCHAR2
        Else
            If Cadre11.Value = 2 Then
                Proc = "Begin PAC_PASSAGE_FLUX.PRC_PASSAGE_PROD(:PROJET_NOM); End;"
                oDb.Parameters.Add "PROJET_NOM", Form_TRANS_INTERFACES_INT_PROJET.PRO_ID.Value, ORAPARM_INPUT
                oDb.Parameters("PROJET_NOM").serverType = ORATYPE_VARCHAR2
            Else
                Proc = "Begin PAC_PASSAGE_FLUX.PRC_PASSAGE_ARCHIVE(:PROJET_NOM); End;"
                oDb.Parameters.Add "PROJET_NOM", Right(Form_TRANS_INTERFACES_INT_PROJET.PRO_ID.Value, Len(Form_TRANS_INTERFACES_INT_PROJET.PRO_ID.Value) - 3), ORAPARM_INPUT
                oDb.Parameters("PROJET_NOM").serverType = ORATYPE_VARCHAR2
            End If
        End If
     
     
        sqlStatement = Proc
        Set oSql = oDb.CreateSql(sqlStatement, 0)
        oSql.Refresh
     
        Set oSql = Nothing
        Set oDb = Nothing
        Set oSession = Nothing
     
    End Sub
    Merci à ceux qui ont lu ce post .
    champijulie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler une procédure stockée a partir d'une autre
    Par wodel dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/11/2006, 14h07
  2. Réponses: 1
    Dernier message: 07/02/2006, 00h11
  3. Réponses: 3
    Dernier message: 17/01/2006, 17h12
  4. Update appelant une procédure stockées
    Par meufeu dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/10/2005, 18h31
  5. [appeler une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 10/03/2005, 22h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo