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 :

Tentative de création d'un petit soft en VBA sous Access


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut Tentative de création d'un petit soft en VBA sous Access
    Bonsoir tout le monde,

    Je souhaite développer un petit programme en VBA me permettant de gérer mon compte. Pour cela, j'utilise tout simplement un formulaire avec : une liste déroulante avec des lignes du type "Retrait, Virement etc...", une zone de texte "commentaires" ainsi qu'une zone de texte pour "montant". Vous l'aurez donc compris, le but est de sélectionner un type d'action avec le montant utilisé puis un commentaire pour détailler plus précisément l'action.

    En excel, je parviens à réaliser mon programme, mais je ne trouve pas très propre le fait de renvoyer les infos vers une feuille excel. Je me suis donc dis que je devrai tenter mon aventure sous Access en utilisant VBA de la même façon (je suppose), au moins les résultats seraient directement envoyé dans des tables dans lesquelles je pourrai effectuer par la suite des requêtes SQL au cas ou.

    Je ne sais pas par ou commencer, donc si quelqu'un comprend ce que je souhaite entreprendre et puisse m'aider à me lancer serait super.

    Voilà ce que je pense faire pour commencer : Créer une table "Actions" avec des champs "Retrait", "Paiement_Internet", "Paiement_Magasin" etc. Mais je ne parviens pas a faire parvenir ces éléments dans la zone déroulante, alors que dans Excel, un simple cb_action.AddItem "Retrait" aurait suffit...

    Merci d'avance,

    Cordialement,


    Bruno

    ps : Je précise que je suis sous Access 2003 et que je suis "débutant" en VB (par la même occasion en prog) mais je fouille souvent avant de poser des question mais là j'avoue que...

  2. #2
    Membre confirmé Avatar de Thierry''
    Profil pro
    Inscrit en
    Février 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 75
    Par défaut
    Sous Access la source des listes déroulantes sont alimentés soit directement par une table, soit par une requête (SQL) ou directement dans la fenêtre propriété de ta liste.

    En espérant t'avoir aider un peu

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    Citation Envoyé par Thierry'' Voir le message
    Sous Access la source des listes déroulantes sont alimentés soit directement par une table, soit par une requête (SQL) ou directement dans la fenêtre propriété de ta liste.

    En espérant t'avoir aider un peu
    Bin en fait j'ai réussi a lister mes intitulés dans le liste déroulante, mais maintenant ce que je n'arrive pas à faire c'est créer un bouton et dire que une fois que j'ai sélectionné le montant et le commentaire que cela m'envoie les données dans un nouvelle table.

    Voilà,

  4. #4
    Membre confirmé
    Avatar de antoinev2
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 177
    Par défaut
    Bonjour Icemanback,

    tu peux faire ça assez facilement :
    tu crées deux variables : la 1ère récupère la valeur de la zone de liste déroulante, et la 2e récupère la valeur de la zone de texte.

    soit pour la valeur de la zone de liste déroulante (si ta zone de liste est nommée "TypeAction") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim strTypeAction As String
    strTypeAction = Me!TypeAction.Value
    Ensuite tu peux utiliser DAO pour ouvrir une table et y ajouter un enregistrement, de la façon suivante (dans ce code, ta table est nommée "t_action", et tes variables "strTypeAction" et "strCommentAction"

    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
     
    Dim dbBase As DAO.Database
    Dim rstTable As DAO.Recordset
     
    Set dbBase = Application.CurrentDb
    Set rstTable = dbBase.OpenRecorset("t_action")
     
    rstTable.AddNew
     rstTable.Fields("type_action") = strTypeAction
     rstTable.Fields("comment_action") = strCommentAction
    rstTable.Update
    rstTable.Close
     
    Set dbBase = Nothing
    Set rstTable = Nothing
    (Pour éviter de taper à chaque fois "rstTable", utilise "With / End With")

    Bon courage,

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    Ok merci je vais voir si je parviens a réaliser quelque chose.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    Alors voici mon pauvre programme :



    J'ai crée une table "Actions" avec pour champs "Retrait", "Paiement_Internet" etc... Dans la liste déroulante cb_actions, dans les propriétés => contenu, je fais un SELECT Actions.Nom_Actions FROM Actions qui me permet d'intégrer les intitulés dans la liste déroulante.

    J'ai ensuite crée un bouton "valider" avec ce que tu m'as passé :

    "
    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
     
    Private Sub Commande12_Click()
     
    Dim strcb_actions As String
    strcb_actions = Me!cb_actions.Value
     
    Dim dbBase As DAO.Database
    Dim rstTable As DAO.Recordset
     
    Set dbBase = Application.CurrentDb
    Set rstTable = dbBase.OpenRecorset("t_action")
     
    rstTable.AddNew
    rstTable.Fields("type_action") = strcb_actions
    rstTable.Fields("comment_action") = strCommentAction
    rstTable.Update
    rstTable.Close
     
    Set dbBase = Nothing
    Set rstTable = Nothing
     
     
    End Sub
    "

    Par contre lorsque que je rentre un intitulé dans la liste modifiable et dans commentaires, une erreur se produit lorsque je clique sur le bouton valider.

    Il me surligne dans le code : "OpenRecorset" comme erreur.

Discussions similaires

  1. [DEV] Création d'un petit installeur pour Mac OS X, quel méthode ?
    Par kOrt3x dans le forum Développement OS X
    Réponses: 11
    Dernier message: 10/11/2007, 18h42
  2. Tentative de création de paquetage infructueuse
    Par Poseidon62 dans le forum Ada
    Réponses: 3
    Dernier message: 21/04/2007, 20h40
  3. Création d'un petit réseau domestique
    Par Pragmateek dans le forum Développement
    Réponses: 3
    Dernier message: 28/01/2007, 19h18
  4. Tentative de création de carnet d'adresses
    Par Jiraiya42 dans le forum C
    Réponses: 67
    Dernier message: 03/10/2006, 00h43
  5. Quelle BDD gratuite ou autre choisir pour un petit soft ?
    Par Cédric_07 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 05/05/2006, 17h11

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