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 :

Atteindre un enregistrement précis d'un formulaire à partir d'un choix dans une liste déroulante


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Atteindre un enregistrement précis d'un formulaire à partir d'un choix dans une liste déroulante
    Bonjour,

    Voici mon problème :

    J'ai un formulaire (Formulaire RechEnregistrements) qui me propose par le biais d'une liste déroulante (cmbRechIntitulé) les différents intitulés contenus dans le champs [Intitulé de l'affaire] d'un autre formulaire (Formulaire ModifEnregistrements).

    Je souhaite avoir une sub qui une fois l'intitulé choisi dans le cmbRechIntitulé du formulaire RechEnregistrements ouvre le formulaire ModifEnregistrements sur l'enregistrement dont le champ [Intitulé de l'affaire] = le choix effectué dans cmbRechIntitulé.

    voici mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Compare Database
    Sub ShowRecord2()
    Dim critere As String
    Dim Nomform As String
    critere = "[Intitulé de l'affaire]=" & Me.cmbRechIntitulé
    Nomform = "Formulaire ModifEnregistrements"
    DoCmd.OpenForm Nomform, , , critere, acFormEdit
    End Sub
     
    Private Sub CmbLancerRechEnregistrements_Click()
    ShowRecord2
    End Sub
    Où est le problème ? Faut-il utiliser Recordset.find ?
    Merci.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 272
    Points : 4 821
    Points
    4 821
    Par défaut
    Salut Pucho Faritas

    C'est exactement ce que j'ai fait ci-dessous. Il faut deplacer le curseur dans le formulaire que tu viens d'ouvrir en fonction de la position de l'élement selectionné dans la liste. Cela est basé sur les indexes et ne fonctionne que si la liste est dans le même ordre que les enregistrements.

    Si je me souviens bien avec ta solution cela active le filtre sur les enregistrements du formulaire ouvert et t'empeche de te balader d'un enregistrement à l'autre.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub List_DblClick(Cancel As Integer)
        
    DoCmd.OpenForm "formulaire", acNormal, , , , acWindowNormal
    
    Application.Forms!formulaire.SelTop = List.ItemsSelected(0) + 1
        
    End Sub
    J'espère que cela va te servir, c'est simple(iste) mais ca marche

    A Bientôt

    Delias

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Delias Voir le message
    Salut Pucho Faritas

    C'est exactement ce que j'ai fait ci-dessous. Il faut deplacer le curseur dans le formulaire que tu viens d'ouvrir en fonction de la position de l'élement selectionné dans la liste. Cela est basé sur les indexes et ne fonctionne que si la liste est dans le même ordre que les enregistrements.

    Si je me souviens bien avec ta solution cela active le filtre sur les enregistrements du formulaire ouvert et t'empeche de te balader d'un enregistrement à l'autre.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub List_DblClick(Cancel As Integer)
        
    DoCmd.OpenForm "formulaire", acNormal, , , , acWindowNormal
    
    Application.Forms!formulaire.SelTop = List.ItemsSelected(0) + 1
        
    End Sub
    J'espère que cela va te servir, c'est simple(iste) mais ca marche

    A Bientôt

    Delias
    je me permet de corriger ce qui est cité la haut:
    il faut changer une ligne par ce qui suit:
    Application.Forms!nomduformulaire.Seltop=nomdelaList.Listindex+1
    j'ai verifié et ca marche a merveil
    en plus on peut mettre ce code sur l'evenement AMJ de la liste deroulante par exemple ,c'est plus simple encore.
    j'espere que j'ai bien fait d'intervenir
    veuiller me laisser un mot en me disant que c'est reglé merci

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    personnellement je vois 2 problèmes possibles.
    1) Me.cmbRechIntitulé est du texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    critere = "[Intitulé de l'affaire]= '" & Me.cmbRechIntitulé & "'"
    2) Me.cmbRechIntitulé a plusieurs colonnes même si une est cachée(ID) et il faut préciser le N° de colonne :
    si numérique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    critere = "[Intitulé de l'affaire]=" & Me.cmbRechIntitulé.Colomn(x)
    si texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    critere = "[Intitulé de l'affaire]= '" & Me.cmbRechIntitulé.Column(X) & "'"

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/12/2013, 21h38
  2. Réponses: 2
    Dernier message: 05/01/2011, 09h34
  3. Réponses: 12
    Dernier message: 08/02/2007, 11h59
  4. Réponses: 2
    Dernier message: 01/08/2006, 23h24
  5. [FORMULAIRE] affichage selon le choix dans une liste déroulante.
    Par gailup dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/06/2006, 14h58

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