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

Requêtes et SQL. Discussion :

[Access2003/SQLServer2000]Appel de procédure stockée non reconue depuis VB(Access)


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut [Access2003/SQLServer2000]Appel de procédure stockée non reconue depuis VB(Access)
    Bonjour,

    Voila mon problème:

    j'ai une procédure stockée dans SQLserver qui fonctionne en l'executant directement depuis SQLServer.
    Mais je voudrais pouvoir la lancer depuis VB.
    Voici le code que j'utilise dans VB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim RS_RECORDSET As ADODB.Recordset
    Set RS_RECORDSET = New ADODB.Recordset
    RS_RECORDSET.Open "recupMax", CurrentProject.Connection, adOpenStatic, adLockReadOnly, adCmdStoredProc
    recupMax etant le nom de ma procedure.

    Seulement lorsque j'arrive sur la ligne Open du recordset, j'ai une erreur :


    ma procedure "recupMax" existe bien dans SQLServer (Dans les stored procedures de ma base)

    donc aurais-je oublier une etape ?

    merci pour vos reponses

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    pour exécuter une procédure qui ne retourne pas d'informations :
    Si tu n'as aucun paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
         Dim Cmd As New ADODB.Command
     
         With Cmd
                  .ActiveConnection = gConnection
                  .CommandText = 'nom_procedure'
                  .CommandType = adCmdStoredProc
     
                  .Execute
        End With
    Et si tu as des paramètres et plein de procedure stockée a appeler dans ton code, tu peux te faire une procédure qui prend un tableau de paramètres:

    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
                pparam = Array(Array("ID", adInteger, adParamInput, t, 12), Array("CODEM", adVarChar, adParamInput, b, 1))
     
                Call MDL_Exec.Execute_Procedure("ps_NomProcedure", pparam, False)
    Procédure de lancement :
    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
     
    Public Sub Execute_Procedure(pProcedureStockee As String, pparam As Variant )
         Dim Cmd As New ADODB.Command
     
     
         With Cmd
                  .ActiveConnection = gConnection
                  .CommandText = pProcedureStockee
                  .CommandType = adCmdStoredProc
     
                  For Each aparam In pparam
                      vname = aparam(0)
                      vtype = aparam(1)
                      voutput = aparam(2)
                      vvaleur = aparam(3)
                      vlong = aparam(4)
                      .Parameters.Append .CreateParameter(vname, vtype, voutput, vlong, vvaleur)
                  Next aparam
                  ' execution de la procédure.
                  .Execute
        End With
     
    End sub
    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    merci pour l'info, mais ma procedure me renvoi un Id, comment ca ce passe si elle renvoi des infos ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Points : 70
    Points
    70
    Par défaut
    Bon j'ai resolu le pb.

    j'ai créer une pass through query, que j'appel depuis le code.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/02/2006, 00h11
  2. Réponses: 3
    Dernier message: 17/01/2006, 17h12
  3. Update appelant une procédure stockées
    Par meufeu dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/10/2005, 18h31
  4. [appeler une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 10/03/2005, 22h38
  5. Appel de Procédure stockée en ASP
    Par James85 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 14/11/2004, 17h55

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