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

Macros et VBA Excel Discussion :

Executer une procédure SQL depuis VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    pharmacien
    Inscrit en
    Septembre 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Pérou

    Informations professionnelles :
    Activité : pharmacien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 42
    Par défaut Executer une procédure SQL depuis VBA
    Bonjour a tous,

    Je cherche a executer une procédure SQL depuis VBA. Je tiens a préciser que je débute en SQL et un peu moins en VBA, donc exuser moi et corriger moi si je dis des bétises.

    Le sujet a été traité plusieurs fois mais je ne comprends pas mon message d´erreur. Nom : message erreur.png
Affichages : 1739
Taille : 46,5 Ko

    Je vais essayé d´être le plus précis possible:

    1- J´ai un module de classe ADODBRD (code source Dysorthographie) avec des fonctions pour pour "jouer" avec ma connection
    Je cherche a creer une fonction me permettant d´executer la procédure stockée en SQL

    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
    Public Function OpenRecordSetParametre(Procedure As String, Param1 As String)
    On Error Resume Next
    If Connexion.State = 0 Then
        OpenConnetion ' autre fonction permettant ouvrir connexion
    End If
     
    Set Cmd = CreateObject("ADODB.Command")
    Cmd.ActiveConnection = Connexion
    Cmd.CommandType = 4
    Cmd.CommandText = Procedure
     
    Set Prm1 = CreateObject("ADODB.Parameter")
    Prm1.Value = Param1
    Prm1.Name = "@MP"
    Prm1.Type = 200
    Prm1.Direction = 4
    Prm1.Size = 15
     
    Set OpenRecordSetParametre = Cmd.Execute
     
    Set Cmd = Nothing
    Set Prm1 = Nothing
     
    If Err Then
    MsgBox Err.Description
            Set OpenRecordSetParametre = Nothing
    End If
    Err.Clear
    On Error GoTo 0
    End Function
    Ensuite j´appele ma fonction de la maniere suivante depuis un USF pour tester ma connection et pour tester mon recordset: (msg de connexion est: bon)

    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
    Private Sub CommandButton1_Click()
    Dim Con As New ADODBRD 'nom de mon module de classe
    Con.BASETYPE = SQLSERVER2005
    Con.MonServer = "BLADELAB01"
    Con.Database = "SBO_PORTUGAL_PRODUCCION"
    Con.MonUser = "etiquetas"
    Con.MonPassword = "francia"
     
    Con.OpenConnetion
    MsgBox Array("No bueno!", "Bueno !")(Abs(Con.OpenConnetion))
    Set RS = Con.OpenRecordSetParametre("SBO_SP_LP_Comprometidos", "MP-00016-LP")
    MsgBox Array("No bueno!", "Bueno !")(Abs(TypeName(RS) <> "Nothing"))
    If Not RS Is Nothing Then RS.Close
    Con.CloseConnection
    Set RS = Nothing
     
    End Sub
    A ce que j´ai compris de mon message d érreur il me dit que mon champs "@MP" n´est pas ajouté, et lorsque je mets ce parametre de ma fonction en commentaire dans ma fonction Prm1.Name = "@MP", bah j´ai le meme message d´erreur avec la synthaxe SQL cad: '@MP'

    Ce qui me fait penser quer l´erreur pourrait provenir de mon script SQL, mais lrsque j´execute ma procedure depuis SQL cela fonctionne, de meme lorsque je fais un execut en excel depuis a ma base de onnées. Ce qui fait que je suis un perdu et pas d´idée... Je ne sais pas si je déclare mal ma variable en VBA ou alors si j´execute mal mon command...

    Je remercie par avance toute forme aide ou toutes suggestions ou toutes idées...

  2. #2

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

Discussions similaires

  1. Appel d'une procédure Outlook depuis VBA excel
    Par sergiani dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/03/2011, 16h29
  2. Appeler une procédure stockée depuis Excel/VBA
    Par _Nimy_ dans le forum InterBase
    Réponses: 4
    Dernier message: 17/04/2008, 11h17
  3. [CR9 Oracle] Executer une procédure stockée depuis un rapport
    Par zodeno dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 26/03/2008, 14h39
  4. executée une procédure stockée depuis access 97
    Par sandmil dans le forum Access
    Réponses: 1
    Dernier message: 12/07/2007, 11h51
  5. Pb pour executer une procédure sous SQL PLUS
    Par rabddoul dans le forum Oracle
    Réponses: 4
    Dernier message: 21/10/2005, 15h40

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