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

VBA Access Discussion :

Appel dune fonction d'un module dans un formulaire grace a un bouton [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 20
    Points : 18
    Points
    18
    Par défaut Appel dune fonction d'un module dans un formulaire grace a un bouton
    je sais que cette question est vraiment simple pour certain mais aider moi s'il vous plait .
    voila j'ai ecrit cette petite fonction dans un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Function test()
    Dim oRst As DAO.Recordset
    Dim oDb As DAO.Database
    Set oDb = CurrentDb
    Set oRst = oDb.OpenRecordset("SELECT * FROM matiere ", dbOpenDynaset)
    End Function
    ensuite dans un fomulaire j'ai crée un bouton et jai appellé la fonction en question et fésant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Commande22_Click()
    Call test
    End Sub

    rien n'est obtenue

    ensuite jai essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Commande22_Click()
    test()
    End Sub
    rien aussi

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour elvisogo,

    Avec le code que tu as, il n'y a rien à obtenir. Voila pourquoi. Quel est le but recherché?

    Bonne journée

  3. #3
    Membre à l'essai
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 20
    Points : 18
    Points
    18
    Par défaut merci de ta reponse
    je lisais un tutoriel et je pensais que la ligne de code exécutait et affichais les resultats de la requête .
    alors comment exécuté la requête sql et visualise le résultat en vba alors?

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour elvisogo,
    je lisais un tutoriel et je pensais que la ligne de code exécutait et affichais les resultats de la requête .
    Ce n'est pas tout à fait ça. Le code du post # 1 crée un jeu d'enregistrement (recordset), rien de plus.
    alors comment exécuté la requête sql et visualise le résultat en vba alors?
    Il faut commencer par la créer si elle n'existe pas. Si elle existe affecter le sql à la requête puis l'afficher. Voici une fonction qui fait cela:
    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
    Public Function fuRQ(strNom As String, strSQL As String)
    On Error GoTo err_fuRQ
     
        Dim db As DAO.Database: Set db = CurrentDb
        Dim qdf As DAO.QueryDef
     
        Set qdf = db.QueryDefs(strNom)                   'La requête existe et on l'affecte
        qdf.SQL = strSQL                                 'Choix du sql pour la requête
        DoCmd.OpenQuery strNom                           'Affichage de la requête
        Set qdf = Nothing                                'Libère l'objet
        Set db = Nothing                                 'Idem
     
    Exit_fuRQ:
        Exit Function
    err_fuRQ:
        Select Case err.Number
            Case 3265                                       'Erreur levée quand la requête n'existe pas
                Set qdf = db.CreateQueryDef(strNom, strSQL) 'Création de la requête
                Application.RefreshDatabaseWindow           'Affichage dans onglet navigation
                DoCmd.OpenQuery strNom                      'Affichage de la requête
                Set qdf = Nothing                           'Libère l'objet
                Set db = Nothing                            'Idem
                Resume Exit_fuRQ
            Case Else
                MsgBox err.Description & ", " & err.Number
        End Select
    End Function
    Dans un formulaire avec 2 champs, un = txtNom pour le nom de la rq et un txtRQ pour le sql de la rq, le code suivant sur un bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub btnRQ_Click()
    fuRQ Me.txtNom, Me.txtRQ
    End Sub
    Bonne journée

  5. #5
    Membre à l'essai
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 20
    Points : 18
    Points
    18
    Par défaut merci
    pour ne pas trop te déranger je teste tous sa et j essaie de mieux comprendre par des lecture et je reviens si jai des questions

  6. #6
    Membre à l'essai
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 20
    Points : 18
    Points
    18
    Par défaut une question
    salut encore moi désolé , je voudrai que dans mon formulaire ou sous formulaire un bouton à cocher, qui lorsque l'utilisateur a fini de remplir tous les champs doit forcement coché ce bouton sinon il est impossible de procédé a l'enregistrement des données saisi avec l'affichage d'une erreur

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

Discussions similaires

  1. [POO] Appeler une fonction par son nom dans une variable
    Par whitespirit dans le forum Langage
    Réponses: 16
    Dernier message: 18/06/2008, 11h23
  2. Réponses: 1
    Dernier message: 25/10/2007, 18h04
  3. Réponses: 3
    Dernier message: 07/03/2007, 11h38
  4. Appel d’une fonction dans un état
    Par Isabelle27 dans le forum IHM
    Réponses: 3
    Dernier message: 29/01/2007, 22h02
  5. appel des fonctions d'un driver dans un programme en c
    Par richie25 dans le forum Windows
    Réponses: 5
    Dernier message: 10/01/2006, 08h27

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