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 :

Execution procedure stockees SQLServer - Recuperation ResultSet [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 134
    Par défaut Execution procedure stockees SQLServer - Recuperation ResultSet
    Bonjour,

    je souhaite depuis Excel, en VBA, appeller une procédure stokées SQL Server qui me retourne un ResultSet.
    J'ai trouvé comment appeler une procédure stockée (pas de souci pour me connecter à SQL Server, ni pour exécuter des requêtes directement depuis VBA) mais je ne sais pas comment exploiter exploiter/appeler une procédure qui me renvoie un ResultSet!

    Existe-t-il comme en VB.Net l'équivalent du DataReader?

    Merci

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour

    ADO.net n'existe pas dans Excel.
    Il te faudra utiliser ADO avec un recordset (a l'ancienne)
    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
     
    Dim cnn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim rec As New ADODB.Recordset
     
    Dim i As Integer
     
    i = 2
     
    cnn.Open "dsn=MONODBC;uid=USER;pwd=PWD"
    cmd.ActiveConnection = cnn
    cmd.CommandType = adCmdStoredProc
     
     
    cmd.CommandText = "dbo.Login"
     
    cmd.Parameters.Append cmd.CreateParameter("@user", adVarChar, adParamInput, 50, User)
    cmd.Parameters.Append cmd.CreateParameter("@password", adVarChar, adParamInput, 50, Password)
     
    rec.Open cmd, , adOpenDynamic, adLockReadOnly
     
    'Ajoute les nouveaux Droits
    Do While Not rec.EOF
        Sheets("Listes").Range("C" & i).Value = rec!champ1
        Sheets("Listes").Range("D" & i).Value = rec!champ2
        i = i + 1
        rec.MoveNext
     
    Loop

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 134
    Par défaut
    Je pensais pas que c'était aussi simple...
    Merci!

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

Discussions similaires

  1. Recuperer le resultat d'une procedure stockee
    Par davidou2001 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/06/2007, 13h13
  2. Réponses: 5
    Dernier message: 15/03/2007, 13h48
  3. [C#] Comment récupérer la valeur de retour d'une procédure stockée ?
    Par Jinroh77 dans le forum Accès aux données
    Réponses: 23
    Dernier message: 05/10/2006, 15h24
  4. [C#/ORACLE 9i] Comment executer une procedure stockée ?
    Par Etienne maheu dans le forum Accès aux données
    Réponses: 3
    Dernier message: 28/08/2006, 15h59
  5. [C#] Comment executer une procédure stockée ?
    Par focus_dotnet dans le forum Accès aux données
    Réponses: 3
    Dernier message: 21/08/2006, 13h30

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