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 :

Probleme ouverture formulaire sur un enregistrement préci


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 35
    Points : 24
    Points
    24
    Par défaut Probleme ouverture formulaire sur un enregistrement préci
    Bonjour

    J'ai crée un formulaire en mode tabulaire qui me permet d'acceder à d'autre formulaire en cliquant sur le numero de chrono.j'ai 2 type de formulaire ( F1, F2) au quels je peux acceder peuvent avoir le meme identifiant dans ce cas j'ai fait de sorte que quand ca se produit j'accede au formulaire F2 .

    le code que j'ai ecris à bien marché pour les 3 premier enregistrement,et pour le reste j'accede tjs au formulaire type F1 .

    ci- apres le code

    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
    28
    29
    30
    31
    Private Sub Chrono_solicitation_Click()
     
    DoCmd.OpenForm "Accueil Entreprise"
    DoCmd.OpenForm "Accueil_labo"
    DoCmd.OpenForm "Accueil_Independant"
     
    If Forms![Accueil Entreprise]!id.Value = Me![Chrono solicitation].Value Then
    DoCmd.Close acForm, "Accueil Entreprise", acSaveNo
    DoCmd.Close acForm, "Accueil_labo", acSaveNo
    DoCmd.Close acForm, "Accueil_Independant", acSaveNo
    DoCmd.OpenForm "Accueil Entreprise", acNormal, , "[id] =" & Me.[chrono]
     
    ElseIf Forms![Accueil_labo]!id.Value = Me![Chrono solicitation].Value Then
    DoCmd.Close acForm, "Accueil_labo", acSaveNo
    DoCmd.Close acForm, "Accueil Entreprise", acSaveNo
    DoCmd.Close acForm, "Accueil_Independant", acSaveNo
     
    DoCmd.OpenForm "Accueil_labo", acNormal, , "[id] =" & Me.[chrono]
     
    ElseIf Forms![Accueil_Independant]!id.Value = Me![Chrono solicitation].Value Then
    DoCmd.Close acForm, "Accueil_labo", acSaveNo
    DoCmd.Close acForm, "Accueil Entreprise", acSaveNo
    DoCmd.Close acForm, "Accueil_Independant", acSaveNo
     
    DoCmd.OpenForm "Accueil_Independant", acNormal, , "[id] =" & Me.[chrono]
    Else: DoCmd.OpenForm "Accueil MI", acNormal, , "[chrono] =" & Me.[chrono]
    DoCmd.Close acForm, "Accueil_labo", acSaveNo
    DoCmd.Close acForm, "Accueil Entreprise", acSaveNo
    DoCmd.Close acForm, "Accueil_Independant", acSaveNo
     
    End If

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 353
    Points : 23 819
    Points
    23 819
    Par défaut
    Je te sugère de mettre un point d'arrêt au début de ton code (en cliquant dans la marge à gauche) et de suivre ton éxécution pas à pas, cela devrait te permettre de comprendre ce qui ne va pas.

    Aussi j'essaierai de réduire la redondance de code en faisant un truc du genre

    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
    28
    dim tNomForm as variant:tNomForm=Array("Accueil Entreprise", "Accueil Entreprise", "Accueil_labo", "Accueil_Independant")
     
    dim i as long
    dim j as long
     
    for i=lbound(tNomForm()) to ubound(tNomForm())
       DoCmd.openForm tNomForm(i)
    next i
     
    dim f as form
     
    for i=lbound(tNomForm()) to ubound(tNomForm())
       set f=forms(tNomForm(i))
     
       if f.controls("id")=me![Chrono solicitation] then
     
         for j=lbound(tNomForm()) to ubound(tNomForm())
            DoCmd.Close, acForm, tNomForm(j)
         next j
     
         DoCmd.openForm tNomForm(i),,,"[id] =" & Me.[chrono]
     
         exit for
       end if
     
    next i
     
    set f=nothing

Discussions similaires

  1. [AC-2010] Ouverture de formulaire sur un enregistrement précis
    Par theolivier dans le forum IHM
    Réponses: 20
    Dernier message: 24/09/2012, 18h40
  2. [AC-2003] Ouverture d'un formulaire sur un enregistrement précis
    Par Jeanpierre71 dans le forum IHM
    Réponses: 7
    Dernier message: 10/10/2011, 17h56
  3. [AC-2002] Ouverture formulaire sur nouvel enregistrement
    Par Auron89 dans le forum IHM
    Réponses: 8
    Dernier message: 07/06/2010, 07h47
  4. Ouverture d'un formulaire sur un enregistrement précis
    Par Halzard dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/06/2007, 14h36
  5. Réponses: 1
    Dernier message: 06/07/2006, 14h44

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