Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/05/2008, 18h34   #1
Membre habitué
 
Homme
Développeur Web
Inscription : avril 2007
Messages : 323
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2007
Messages : 323
Points : 144
Points : 144
Par défaut récuperer valeurs renvoyées par procédure stockée

Salut , j'ai une procédure stockée sur une base SQL serveur , celle-ci faisant un select en fonction d'un ID passé en parametre.

J'aurais voulu savoir comment , apres avoir executé cette procédure , inserer les valeurs retournée par le select dans des champs textes?

voici ce que j'ai actuellement :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub afficher_Click()
    Dim procStock As ADODB.Command
    Set procStock = CreateObject("ADODB.Command")
    procStock.ActiveConnection = CurrentProject.Connection
    procStock.CommandType = adCmdStoredProc
    procStock.CommandText = "retourClientX"
    Dim param As Parameter
    Dim civilite As String
    Dim nom As String
    Dim prenom As String
    Dim id As Integer
 
    id = lesClientsModif.Value
          Set param = procStock.CreateParameter("@id", adInteger, adParamInput, , id)
          procStock.Parameters.Append param
          procStock.Execute
En fait sur mon formulaire j'ai une liste déroulante avec des clients, si je clique sur le bouton "afficher" je voudrais que les informations de ce clients apparaissent dans des champs textes.



EDIT: je ne souhaite pas forcement utiliser une proc stockée pour cette requete mais c'est surtout que je ne vois pas comment faire sinon :/

voila ce que j'ai essayé :
Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub afficher_Click()
Dim db As Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("select * from client where id=" & lesClientsModif.Value)
 
 
 
civiliteModif.Value = rs!civilite
prenomModif.Value = rs!prenom
nomModif.Value = rs!nom
Mais il coince sur le "dim db as database"
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...
erox44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 19h36   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 941
Points : 6 283
Points : 6 283
Bonsoir,

Si ta procédure stockée renvoie un jeu d'enregistrement, il te faut un objet Recordset (ADO) pour récupérer le résultat de la méthode Execute.
Code vb :
1
2
3
    Dim rs As ADODB.RecordSet
            .......
          Set rs = procStock.Execute
Voir l'aide ADO de la méthode Execute d'un objet Command.

Ton deuxième code ne peux pas fonctionner dans un projet adp car DAO ne fonctionne qu'avec Jet.
Si ce n'est pas un projet adp, alors c'est sans soute qu'il manque la référence à "Microsoft DAO x.x Object Library" (il faut la cocher).

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 19h44   #3
Membre habitué
 
Homme
Développeur Web
Inscription : avril 2007
Messages : 323
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2007
Messages : 323
Points : 144
Points : 144
Mon sauveur :smack


Merci beaucoup ca fonctionne nickel.
__________________
L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...
erox44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h08.


 
 
 
 
Partenaires

Hébergement Web