Comment exécuter des procédures stockées SQL Server [VB/VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 21-10-2003 à 17:13:26
ADO. Jette un oeil sur l'objet Command, je pense que c'est ce que tu cherches.
Marsh Posté le 21-10-2003 à 17:57:54
Dim lcmd As New ADODB.Command
Dim lrs As New ADODB.Recordset
' Récupération des informations :
With lcmd
Set .ActiveConnection = mTechnique.U.bddConnection
.CommandType = adCmdStoredProc
.CommandText = "MA_PROCEDURE_STOCKEE"
.Parameters.Append .CreateParameter("@PARAMETRE1", _
adInteger, _
adParamInput, _
, _
VALEURPARAMETRE1)
.Parameters.Append .CreateParameter("@PARAMETRE2", _
adInteger, _
adParamInput, _
, _
VALEURPARAMETRE2)
' ...
.Parameters.Append .CreateParameter("@PARAMETREN", _
adInteger, _
adParamInput, _
, _
VALEURPARAMETREN)
' Executer simplement :
.Execute
' ou
' Mettre dans un recordset :
Set lrs = .Execute
End With
Set lcmd = Nothing
Marsh Posté le 22-10-2003 à 09:22:36
De mémoire tu dois pouvoir créer une requete Access de type SQL Direct.
La syntaxe de cette requete contient juste le nom de la procédure stockée SQL Serveur et ses paramètres.
Une propriété de cette requete permet de dire si celle ci est sensée renvoyer des enregistrements.
J'avais fait ça avec Access 97, je ne sais pas quelles modifications/améliorations ont pu être apportées depuis
a+
Marsh Posté le 24-10-2003 à 17:50:28
Merci!
J4ai pas mal fait le tour de ADO, et c'est ce qu'il me faut : très rapide (meme plus rapide que ODBCDirect) et très flexible (possibilité de passer des paramètres In et Out, possibilité de récupérer la aleur de retour d'un procédure stockée)
Voilà!
Pour continuer de convertir mon appli en utilisant SQLServer comme source donnée (avec ADO donc), j'ai besoin de remplir des ListBox à partir de requêtes sur mes tables SQLServer!
Comment est ce que je pourrais m'y prendre? Je n'ai pas réussi à trouver de réponse sur le Web, et toutes les syntaxes que j'ai pu essayer ne marchent pas.
Merci
Marsh Posté le 21-10-2003 à 14:07:07
Salut!
Je souhaite migrer d'une appli Accessn sur Base de Données Access en la même appli Access, mais attaquant une base de données SQL Server!
Au début, je me suis contenté d'utiliser des tables liées Access->SQL Server(via ODBC). Ca marche, mais c'est vraiment lent!
Je veux donc utiliser une vraie techno Client/Server
Pour exécuter des requetes (genre Update) sur le server, j'ai constaté que de les envoyer via ODBCDirect reste le plus rapide :
Par contre, j'aimerais aussi pouvoir exécuter des Procédures Stokées SQLServer, avec des paramètres en sortie et une valeur de retour... Comment je pourrais faire?
Je suis un peu perdu dans toutes les technos disponibles (ADO? DAO? OLE DB, etc...), j'en ai essayé quelques unes pour exécuter des requêtes envoyées au serveur, mais j'aimerais en trouver une qui marche pour tous mes besoins et qui soit rapide! Est ce que la solution est ADO? Ou alors, j'ai intéret à mixer Les technologies?
Merci pour votre aide