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

Access Discussion :

transfert de variable depuis un combobox


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut transfert de variable depuis un combobox
    Bonjour,
    comment peut-on transferer une variable saisie dans un combobox vers d'autres formulaires ou requetes ? (dans access)

    J'ai appris cela il y a longtemps en visual basic, mais j'ai oublié,

    merci pour votre aide
    pilule007

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    • [forms]![NomTonForm]![NomTonControle] pour un critère dans une requête.
    • =[forms]![NomTonForm]![NomTonControle] pour la valeur d'un champ dans un formulaire.


    Selon l'usage tu peux aussi utiliser le les paramètres de DoCmd.OpenForm().
    • call DoCmd.OpenForm(FormName, View, FilterName, "[UnChamp]=""" & [forms]![NomTonForm]![NomTonControle] & """") si le formulaire qui demande l'ouverture n'est pas celui en cours.
    • call DoCmd.OpenForm(FormName, View, FilterName, "[UnChamp]=""" & me.[NomTonControle] & """") si le formulaire qui demande l'ouverture n'est celui en cours.


    Et plus rarement on utilise le dernier paramètre de DoCmd.OpenForm() qui est OpneArgs.

    Un dernier point le langage de Access (et de la suite office) est VBA (Visual Basic for Application) et qui est un cousin du VB (Visual Basic).
    Je ne pinaille pas :-) sur le vocabulaire mais certaines choses qui marchent en VBA ne fonctionnent pas en VB et vice versa.

    A+

  3. #3
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre réponse,
    c'est un peu trop compliqué pour moi,

    est ce que vous connaissez un bon tutoriel pas à pas pour progresser dans access ?

    merci
    pilule007

  4. #4
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    merci beaucoup,
    cela fonctionne
    je commence à comprendre comment programmer dans access,

    pilule007

  5. #5
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut Cases à cocher et ComboBox
    Bonjour,

    j'ai commencé une base access pour gérer les adhérents à une association de retraités (environ 400 membres)
    Cette association propose 24 activités journalières,
    j'ai donc créer dans ma table adhérents, 24 champs correspondants aux 24 activités, et sont ainsi nommées.
    est il possible de récupérer automatiquement les noms de ces champs dans une liste déroulante, ou bien faut il les créer manuellement dans la liste.

    Chaque adhérent peut s'inscrire à plusieurs activités, c'est pour cela que j'ai créé les 24 champs

    merci d'avance pour vos réponses
    cordialement
    pilule007

  6. #6
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut ComboBox remplie avec nom des champs d'une table
    Bonjour,
    j'ai rempli une liste déroulante 'liste-activites' d'un formulaire 'ADHERENTS' avec les champs de ma table 'ADHERENTS',
    les champs que j'utilise sont des cases à cocher

    J'utilise la requête suivante pour afficher les adhérents qui sont cochés pour une activité (exemple : le champs 'BELOTE' est repris comme tel dans le liste déroulante) et je la charge avec une macro dans l'évènement clic de la liste déroulante.

    mais rien ne s'affiche et je ne comprends pas pourquoi (il s'affiche 1 ligne avec des données vides)

    Merci pour votre aide
    pilule007


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ADHERENTS.[NOM-PRENOM], ADHERENTS.TELEPHONE, ADHERENTS.EMAIL, [Formulaires]![ADHERENTS]![liste-activites].[Texte] AS Activité
    FROM ADHERENTS
    WHERE ((([Formulaires]![ADHERENTS]![liste-activites].[Texte]) Like True));

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 816
    Points : 14 909
    Points
    14 909
    Par défaut
    bonsoir,
    SQL ne reconnait pas certaines propriétés des contrôles de formulaires comme Texte d'autant plus si c'est une case à cocher et Like ne fonctionnera pas plus pour la même raison
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ADHERENTS.[NOM-PRENOM], ADHERENTS.TELEPHONE, ADHERENTS.EMAIL, [Formulaires]![ADHERENTS]![liste-activites] AS Activité
    FROM ADHERENTS
    WHERE [Formulaires]![ADHERENTS]![liste-activites] = True;

  8. #8
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    merci pour ta réponse

    maintenant, cela fonctionne un tout petit peu mieux, mais le resultat affiche tous les adherents, meme ceux qui ne sont pas inscrit pour l'activité

    pilule007

  9. #9
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 239
    Points : 5 610
    Points
    5 610
    Par défaut
    Bonjour,

    Une façon de faire:
    Pour la liste déroulante, mettre la propriété "Origine source" à "Liste valeurs".
    Code dans le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Load()
        Me.Modifiable0.RowSource = ListeChamps("NomTable")
    End Sub
    Code dans un module:
    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
    Public Function ListeChamps(sNomTable As String) As String
        Dim db As DAO.Database
        Dim tdfld As DAO.TableDef
        Dim fld As Field
        Dim s As String
        s = ""
        Set db = CurrentDb()
        Set tdfld = db.TableDefs(sNomTable)
        For Each fld In tdfld.Fields    'loop through all the fields of the tables
            If fld.OrdinalPosition > 1 Then '--- exemple pour ne pas prendre les 2 premiers champs --- à adapter
                s = s & ";" & fld.Name
            End If
        Next
        If s = "" Then
            ListeChamps = ""
        Else
            ListeChamps = Mid(s, 2)
        End If
        Set tdfld = Nothing
        Set db = Nothing
    End Function
    Bonne continuation.

  10. #10
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    j'ai utilisé le code du début dans ma requête, cela fonctionne très bien si je l'utilise comme variable pour faire correspondre le contenu d'un champs,

    mais lorsque je l'utilise comme valeur de champs comme :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ADHERENTS.[NOM-PRENOM], ADHERENTS.TELEPHONE, ADHERENTS.EMAIL, [Formulaires]![ADHERENTS]![liste-activites] AS Activité
    FROM ADHERENTS
    WHERE [Formulaires]![ADHERENTS]![liste-activites]![Texte]=True;

    ( le champs devrait etre égal à BELOTE, champs case à cocher) , en faisant comme cela, le resultat affiche toute la table

    merci
    pilule007

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 816
    Points : 14 909
    Points
    14 909
    Par défaut
    bonjour,
    peux-tu poster le code complet y compris la ligne contenant le nom de la procédure événementielle (par exemple: Private Sub MonControle_AfterUpdate())

  12. #12
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    peux-tu poster le code complet y compris la ligne contenant le nom de la procédure événementielle (par exemple: Private Sub MonControle_AfterUpdate())
    En fait j'ai juste créé une requete :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ADHERENTS.[NOM-PRENOM], ADHERENTS.TELEPHONE, ADHERENTS.EMAIL, [Formulaires]![ADHERENTS]![liste-activites] AS Activité
    FROM ADHERENTS
    WHERE [Formulaires]![ADHERENTS]![liste-activites]![Texte]=True;


    que j'appelle depuis une liste déroulante qui contient les champs de la table ADHERENTS, les champs concernés sont des cases à cocher,

    je l appelle depuis l'évènement clic de la liste déroulante au moyen d'une macro qui charge la requete

    pilule007

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 816
    Points : 14 909
    Points
    14 909
    Par défaut
    je l appelle depuis l'évènement clic de la liste déroulante au moyen d'une macro qui charge la requete
    c'est bien ce code que je veux voir... et si c'est une macro Access, une impression d'écran fera l'affaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     [Formulaires]![ADHERENTS]![liste-activites] AS Activité
    pourquoi ajouter un contrôle du formulaire dans la requête ? cela n'a pas grand intérêt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE [Formulaires]![ADHERENTS]![liste-activites]![Texte]=True;
    il me semblait t'avoir dit d'enlever !Texte

  14. #14
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Bonjour, désolé, je débute dans access, voici ma capture d'écran
    Images attachées Images attachées  

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 816
    Points : 14 909
    Points
    14 909
    Par défaut
    ce que je comprend c'est que, par macro, tu ouvres une requête sur clic d'une liste déroulante ?
    tel que c'est fait, cela ne fonctionnera pas. Peux-tu mettre ta base à disposition (format zip) en prenant soin de ne pas y mettre des données confidentielles ?

  16. #16
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    ce que je comprend c'est que, par macro, tu ouvres une requête sur clic d'une liste déroulante ?
    tel que c'est fait, cela ne fonctionnera pas. Peux-tu mettre ta base à disposition (format zip) en prenant soin de ne pas y mettre des données confidentielles ?
    Bonjour
    oui c'est bien cela que je fais,
    comment je peux t'envoyer ma base sans les données confidentielles ? ( il y a les noms, adresses, telephone, mail)

    merci
    pilule007

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 816
    Points : 14 909
    Points
    14 909
    Par défaut
    bonjour,
    tu peux copier ta base dans une nouvelle base (ou copier uniquement les objets concernés, formulaires, tables requêtes ...), vider les tables contenant les informations sensibles et saisir 1 ou 2 enregistrements avec des infos bidon. Une fois ta base compactée et zippée utilise l'icône "trombone" pour la joindre

  18. #18
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    tu peux copier ta base dans une nouvelle base (ou copier uniquement les objets concernés, formulaires, tables requêtes ...), vider les tables contenant les informations sensibles et saisir 1 ou 2 enregistrements avec des infos bidon. Une fois ta base compactée et zippée utilise l'icône "trombone" pour la joindre
    voici le fichier
    merci
    pilule007
    Fichiers attachés Fichiers attachés

  19. #19
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 816
    Points : 14 909
    Points
    14 909
    Par défaut
    merci, je regarde ça cet après-midi ...

  20. #20
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2021
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    merci, je regarde ça cet après-midi ...
    merciiiii,le formulaire pour demarrer est faccueil

Discussions similaires

  1. transfert des variables de sessions
    Par Julie 2006 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 26/02/2006, 11h58
  2. [vb] Transfert de variables et listbox
    Par lepiou dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/01/2006, 17h39
  3. Réponses: 10
    Dernier message: 06/10/2005, 22h25
  4. Réponses: 5
    Dernier message: 08/09/2005, 20h33
  5. [FLASH MX2004] Lancer un clip depuis une combobox
    Par Sorento dans le forum Flash
    Réponses: 5
    Dernier message: 18/06/2005, 23h52

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