Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 23/08/2011, 12h20   #1
Membre du Club
 
bonero pross
Inscription : janvier 2010
Messages : 160
Détails du profil
Informations personnelles :
Nom : bonero pross

Informations forums :
Inscription : janvier 2010
Messages : 160
Points : 58
Points : 58
Par défaut Quels sont les advantages des Stored Procedure:

Bonjour tout le monde,
Je suis entrain de m’initier aux strored procedure en access. Pour ce faire, j’ai essaye avec success l’exemple de code sur le lien suivant: http://support.microsoft.com/kb/202116



Mais je me suis rendu compte que je pouvais obtenir le meme resultat en passant par la function ci dessous que j’ai ecrite.

Code :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Sub SubstitueStoredProc(prmCity As String)
'cette procedure retourne pour une ville donnee: _
Customer ID _
Company Name _
Contact Name.
 
' j'utile la table Customers de la DB Northwind 2003.
 
 
 
    Dim Cn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim strSQL As String
 
 
 
    Set Cn = Application.CurrentProject.Connection
    Set rst = CreateObject("ADODB.recordset")
 
    strSQL = "Select * From Customers where City =  " & Chr(34) & prmCity & Chr(34)
 
'Ouvrir le recordset.
    With rst
        .Source = strSQL
        .ActiveConnection = Cn
        .CursorType = adOpenKeyset
        .LockType = adLockOptimistic
 
        .Open , , , , adCmdText
    End With
 
'Parcourir le recordset.
    If rst.EOF <> True Then
        Do While rst.EOF <> True
            Debug.Print rst(0), rst(1), rst(2)
            rst.MoveNext
        Loop
 
    End If
 
'Liberer la memoire.
    rst.Close
    Cn.Close
    Set rst = Nothing
    Set Cn = Nothing
 
 
End Sub
 
 
Sub Call_SubstitueStoredProc()
'Appeler la procedure rstProc() avec pour arguments  "London".
 
    Call SubstitueStoredProc("london")
'ceci me donne les memes resultats que la fct RSFromParameterQuery sur le lien _
http://support.microsoft.com/kb/202116.
 
 
 
End Sub

Alors j’aimerais quels sont les advantages fondamentaux des Stored Procedures en general. Et dans le cas de mon exemple, quelle est la voie recommendee ma function ou l’exemple du lien.?

Merci d’avance de votre reponse.

Cordiallement,
Boner.
Bonero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 09h12   #2
Invité de passage
 
Inscription : septembre 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 3
Points : 1
Points : 1
Par défaut avantage des procédures stockées

Elles sont surtout exécutées sur le serveur et minimisent donc la charge réseau et peuvent exécuter des tâches très complexes (passage de table en paramètres etc...). Et puis sur des requêtes complexes, chronométrez.
cernst est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 09h41   #3
Membre du Club
 
bonero pross
Inscription : janvier 2010
Messages : 160
Détails du profil
Informations personnelles :
Nom : bonero pross

Informations forums :
Inscription : janvier 2010
Messages : 160
Points : 58
Points : 58
Citation:
Envoyé par cernst Voir le message
Elles sont surtout exécutées sur le serveur et minimisent donc la charge réseau et peuvent exécuter des tâches très complexes (passage de table en paramètres etc...). Et puis sur des requêtes complexes, chronométrez.
merci d'avoir repondu.
auriez vous par exemple un exemple de tache qu ' il serait impossible d 'executer sans une Stored Procedure?
cela me permettrait de mieux apprehender votre reponse. je suis un debutant en ADO donc svp proposez un exemple pas trop complique a comprendre.

Merci.
Bonero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 19h05   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
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 939
Points : 6 278
Points : 6 278
Bonjour,
Citation:
Envoyé par Bonero Voir le message
merci d'avoir repondu.
auriez vous par exemple un exemple de tache qu ' il serait impossible d 'executer sans une Stored Procedure?
Personnellement je n'en vois aucun pour une base de données Access.
Je n'ai jamais eu besoin de créer de procédure stockée pour Access.

ADO est une bibliothèque générale (non dédiée à Access).
La plupart des gros systèmes de base de données n'ont pas d'objets requêtes comme dans Access.
Ils ont des tables, des vues (équivalent à une requête de sélection Access) et des procédures stockées (équivalent aux autres requêtes Access).
Avec une base de données Access, ce que l'on voit dans ADO comme étant des procédures stockées, ce sont toutes les requêtes autres que requêtes de sélection.
C'est à dire, les requêtes action (Ajout/Suppression/Mise à jour), les requêtes de sélection paramétrées, les requêtes UNION, les requêtes d'analyse croisée.

Ce que je retiens, c'est que dans ADO la terminologie est plus proche des gros systèmes de base de données, que d'Access.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h35.


 
 
 
 
Partenaires

Hébergement Web