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

IHM Discussion :

Ouverture de formulaire sur liste déroulante [AC-2016]


Sujet :

IHM

  1. #1
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 460
    Points : 116
    Points
    116
    Par défaut Ouverture de formulaire sur liste déroulante
    Bonjour à tous,

    Je tente d’apporter un correctif à ma base car je rencontre un souci avec les doublons de saisie.

    Le formulaire F_suivi_demande_de_carte conditionne la recherche avant ouverture du formulaire F_demande_de_carte.
    Ci-dessous le formulaire avec en jaune les 7 colonnes dont une à 0cm.

    Nom : form.JPG
Affichages : 127
Taille : 206,7 Ko

    Il est basé sur la requete lst_R_selection_nom_F_suivi_demande_de_carte

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT T_demande.nom_effectif, T_demande.prenom_effectif, T_demande.matricule_effectif, T_demande.service_effectif, T_statut_demande.statut_demande, T_demande.id_statut_demande, T_demande.id_demande
    FROM T_statut_demande INNER JOIN T_demande ON T_statut_demande.id_statut_demande = T_demande.id_statut_demande;

    Nom : req. suivi.JPG
Affichages : 81
Taille : 65,4 Ko

    Pour tout vous dire, j’ai ajouté le champs id_demande dans la requête car il n’y était pas à la création de celle-ci.

    Voici la version actuel qui ne gère pas les doublons et affiche la même donnée quelque soit la sélection

    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
    Private Sub but_lancer_Click() ' ouverture formulaire en mode: Suivi de demande de carte affaire sur critère
     
    'teste si il y a bien des enregistrement avant ouverture
    If DCount("*", "T_demande", "id_statut_demande < " & 5) = 0 Then
        MsgBox "Il n'y a pas de dossier en cours"
        Else
    'filtre le formulaire sur le nom sélectionné dans la liste déroulante
     
        Call DoCmd.OpenForm("F_demande_de_carte", acNormal, , "matricule_effectif=""" & Me.lst_R_selection_nom_F_suivi_demande_de_carte.Column(2) & """", DataMode:=acFormEdit)
        ' passe le formulaire en modification de donnée et ne permet pas de faire de nouvelles saisies
            [Forms]![F_demande_de_carte].AllowAdditions = False
        ' masquer les champs non nécessaire à ce formulaire
            [Forms]![F_demande_de_carte].txt_date_envoi_BDDF.SetFocus
            [Forms]![F_demande_de_carte].Étiq_titre_demande_CAF.Visible = False
            [Forms]![F_demande_de_carte].Etiq_rechercher_par_le_nom.Visible = False
            [Forms]![F_demande_de_carte].lst_r_selection_nom_F_demande_de_carte.Visible = False
            [Forms]![F_demande_de_carte].but_test_folder.Visible = False
            [Forms]![F_demande_de_carte].etiq_folder.Visible = False
     
        ' Affiche les champs nécessaire à ce formulaire
            [Forms]![F_demande_de_carte].Étiq_titre_suivi_demande_CAF.Visible = True
    Donc je me suis dit l’ID est la clé unique et résoudra le problème mais la version corrigé ne fonctionne pas ☹

    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
    Private Sub but_lancer_Click() ' ouverture formulaire en mode: Suivi de demande de carte affaire sur critère
     
    'teste si il y a bien des enregistrement avant ouverture
    If DCount("*", "T_demande", "id_statut_demande < " & 5) = 0 Then
        MsgBox "Il n'y a pas de dossier en cours"
        Else
    'filtre le formulaire sur le nom sélectionné dans la liste déroulante
     
        Call DoCmd.OpenForm("F_demande_de_carte", acNormal, , "id_demande=""" & Me.lst_R_selection_nom_F_suivi_demande_de_carte.Column(6) & """", DataMode:=acFormEdit)
        ' passe le formulaire en modification de donnée et ne permet pas de faire de nouvelles saisies
            [Forms]![F_demande_de_carte].AllowAdditions = False
        ' masquer les champs non nécessaire à ce formulaire
            [Forms]![F_demande_de_carte].txt_date_envoi_BDDF.SetFocus
            [Forms]![F_demande_de_carte].Étiq_titre_demande_CAF.Visible = False
            [Forms]![F_demande_de_carte].Etiq_rechercher_par_le_nom.Visible = False
            [Forms]![F_demande_de_carte].lst_r_selection_nom_F_demande_de_carte.Visible = False
            [Forms]![F_demande_de_carte].but_test_folder.Visible = False
            [Forms]![F_demande_de_carte].etiq_folder.Visible = False
     
        ' Affiche les champs nécessaire à ce formulaire
            [Forms]![F_demande_de_carte].Étiq_titre_suivi_demande_CAF.Visible = True
    Le code bloque sur cette ligne alors que le résultat (232) qui apparait en passant sur la ligne est bien celui de la clé recherchée!

    Nom : ligne.jpg
Affichages : 100
Taille : 214,3 Ko

    Avec l erreur

    Nom : Code erreur.JPG
Affichages : 104
Taille : 21,8 Ko

    J'ai beau regarder dans tous les sens et ne comprends pas pourquoi cela bloque.
    C'est un peu long mais je préfère donner le maximum d'information

    Je vous remercie pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    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 759
    Points : 14 793
    Points
    14 793
    Par défaut
    bonsoir,
    si id_demande est numérique il ne faut pas mettre de guillemets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call DoCmd.OpenForm("F_demande_de_carte", acNormal, , "id_demande=" & Me.lst_R_selection_nom_F_suivi_demande_de_carte.Column(6) , DataMode:=acFormEdit)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 460
    Points : 116
    Points
    116
    Par défaut
    Super, merci tee_grandbois
    je n'avais pas percuté sur le changement d'état
    Belle journée

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/10/2010, 11h11
  2. Réponses: 14
    Dernier message: 31/08/2010, 11h25
  3. [AC-2007] Sous formulaire accessible sur liste déroulante
    Par papagei2 dans le forum IHM
    Réponses: 8
    Dernier message: 15/10/2009, 09h23
  4. [A-02] Ouverture formulaire sur liste deroulante
    Par clarion14 dans le forum IHM
    Réponses: 10
    Dernier message: 13/02/2009, 18h17
  5. Réponses: 7
    Dernier message: 20/11/2008, 14h22

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