Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sondages et Débats
Sondages et Débats Forum destiné à recevoir les échanges, avis et sondages autour de la technologie 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 04/12/2011, 18h29   #1
Nouveau Membre du Club
 
Avatar de Marcopololo
 
Inscription : juillet 2008
Messages : 166
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 166
Points : 34
Points : 34
Par défaut Intérêt des modules de fonction en VBA

Bonjour,

Je développe une base depuis quelques années qui devient de plus en plus complexe.

Pour la première fois je suis confronté à la mise en place de modules. Variable public (pas le choix) et module avec une fonction.

Alors je me posais la question, hormis bien sur l'intérêt d'éclaircir le code d'un formulaire, cela donne t-il plus de rapidité à la base de données ?

Effectivement ou il y a intérêt c'est si il y a répétition utilisant cette fonction. Mais encore une fois le fait de faire appel à un module ne ralenti t-elle pas le code ?

Voilà c'est une question existentielle mais peut être que quelqu'un pourra t-il répondre.

Marcopololo
Marcopololo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2011, 22h27   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
Cela ne doit pas avoir un impact majeur, autant que je sache VBA charge un module en mémoire à la première utilisation et après s'en ressert. Donc le surcout, si tu n'a pas de probllème de mémoire vive doit être minime.

Les avantages en temps de maintenance et de dévoloppement doivent, à mon avis largement compenser le temps d'exécution même sur un Pentium 1ère génération :-).

Quand tu dis que tu n'a pas le choix pour les variables globales, peux-tu développer un peu parce qu'à priori il y a toujours une solution alternative ou du moins plus sécuritaire (ex : module de classe).

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 13h38   #3
Nouveau Membre du Club
 
Avatar de Marcopololo
 
Inscription : juillet 2008
Messages : 166
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 166
Points : 34
Points : 34
J'ouvre un formulaire ou je choisi un client, puis en cliquant sur un bouton export vers excel, j'ouvre un autre formulaire qui me permet de saisir le nom du fichier. Mais comme celui ci ne reste pas ou vert je me retrouve avec une variable que mon premier formulaire ne trouve plus.

J'ai don créé un module avec des variables public. Au départ j'ai tenté cela avec un module de classe mais impossible de le faire fonctionner.

Voilà mon module
Code :
1
2
3
4
5
6
7
Option Compare Database
Option Explicit
 
 
Public xlfile As String
Public xlchemin As String
Public xlannule As Boolean
Code premier formulaire
Code :
1
2
3
4
5
6
7
8
9
10
11
DoCmd.OpenForm ("fichier excel"), WindowMode:=acDialog
                                        If xlannule = True Then                 'Permet d'arrêter le code du formulaire si le bouton annuler du formulaire excel a été clické
                                            Exit Sub                            ' sortie de la routine objet
                                        Else
                                        End If
                                   'NameExcel = DLookup("[xlname]", "excel")  'Récupération du champ du formulaire fichier excel dans la table excel pour nommer le fichier exportation
                                    NameExcel = xlfile
 
                ' Nom complet du fichier excel
 
                strxlfile = "d:\bases extincteurs\Access 2007\" & NameExcel & ".xls"
Code second formulaire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Validation_Click()
 
                xlannule = False
'Si aucune nom de fichier, je sors message d'alerte
                If Nz(Me.NomExcel, "") = "" Then
                MsgBox "Nom de fichier obligatoire", vbOKOnly
                'DoCmd.OpenForm ("message nom fichier obligatoire"), WindowMode:=acDialog
                Exit Sub     ' Sortie de la routine
                'Sinon, je continue
                Else
                End If
 
                xlfile = Me.NomExcel
 
        DoCmd.Close acForm, Me.Name  'ferme le formulaire en cours
 
End Sub
Marcopololo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h16.


 
 
 
 
Partenaires

Hébergement Web