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 :

Formulaire + Condition Where


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 116
    Points : 62
    Points
    62
    Par défaut Formulaire + Condition Where
    Salut,

    pfffff, pas facile l'apprentissage,

    Voila j'avais posté ici et j'avais réussi m'en sortir (regardez seulement les 2 denriers messages)

    Maintenant, depuis le même endroit je veux ouvrir le même formulaire (après sélection de mes listes déroulantes) mais cette fois ci je veux que ces conditions soient respectées :

    le formulaire doit s'ouvrir sur le dernier enregistrement où
    id_animal = lm_atelier_animal (résultat des listes déroulantes)

    Alors, comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'Bouton SAISIE dans EVT_UNIQUE
    Private Sub BtSaisie_Click()
        'Ouvrir le Formulaire en nouvel enregistrement
        DoCmd.OpenForm "2-07_F_S_Reproduction", acNormal, , , acActiveDataObject
       'Champ num_animal = id_animal obtenu par les listes déroulantes à copier automatiquement
        Forms![2-07_F_S_Reproduction]!id_animal.Value = Me![lm_atelier_animal].Value
        'Placer le Focus sur le champ date-chaleur
        Forms![2-07_F_S_Reproduction].[date_chaleur].SetFocus
    J'ai tenté de l'adapter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub BtInsem_Click()
     'Ouvrir le Dernier Formulaire de L'animal
        DoCmd.OpenForm "2-07_F_S_Reproduction", , Forms![2-07_F_S_Reproduction]!id_animal.Value = Me![lm_atelier_animal].Value
        'cocher la case insemination
       'placer le curseur sur...
     
    End Sub
    et pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234567
    Private Sub BtInsem_Click()
     'Ouvrir le Dernier Formulaire de L'animal
        DoCmd.OpenForm "2-07_F_S_Reproduction", , Forms![2-07_F_S_Reproduction]!id_animal. = Me![lm_atelier_animal]
        'cocher la case insemination
       'placer le curseur sur...
     
    End Sub
    c'est pareil
    Quelqu'un à une idée?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Regarde dans l'aide la syntaxe de Docmd.OpenForm, il me semble qu'il y'ait un mauvais emplacement de ton égalité

    Starec

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    C'est un peu mieux mais ce n'est pas encore ça....
    effectivement l'aide m'a permis de voir que je m'étais trompé avec les virgules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Employés", , ,"[Fonction] = 'Représentant(e)'"
    Mais en corrigeant je n'ai toujours pas la bonne réponse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub BtInsem_Click()
     'Ouvrir le Dernier Formulaire de L'animal
        DoCmd.OpenForm "2-07_F_S_Reproduction", , , "[id_animal] = [lm_atelier_animal]"
     
     
       'Champ num_animal = id_animal obtenu par les listes déroulantes à copier automatiquement
     
        'Placer le Focus sur le champ date-chaleur
     
     
    End Sub
    à noter qu'en remplaçant "[id_animal] = [lm_atelier_animal]" par "[id_animal] = [lm_atelier_animal].value" ou par "[id_animal].value = [lm_atelier_animal].value" cela donne le même résultat

    Ce code fonctionne ainsi :
    sur clic du bouton une fenêtre de paramètre s'active (je dois rentrer le numéro de l'identifiant à la main) et le formulaire s'ouvre sur le premier enregistrement de cet identifiant.

    Ce qui ne va pas:
    - cette fenêtre de paramètre ne devrait pas s'ouvrir, la valeur devrait être récupérée automatqiuement dans la liste lm_atelier_animal
    - je devrais arriver au dernier enregistrement de cet animal...

    Est-ce à cause de ça :
    L'objet DoCmd ne prend pas en charge les méthodes qui correspondent aux actions suivantes :
    DéfinirValeur. Définissez directement la valeur dans Visual Basic.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Petite question :
    [lm_atelier_animal]
    est-ce un contrôle de ton formulaire d'où tu lances l'autre où une variable ?

    Starec

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    C'est mieux, avec cette commande je n'ai plus la fenetre de paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DoCmd.OpenForm "2-07_F_S_Reproduction", , , "[id_animal] =" & Me.[lm_atelier_animal]
    Maintenant il ne me reste plus qu'à demander le dernier enregsitrement de cet animal

    @Starec
    est-ce un contrôle de ton formulaire d'où tu lances l'autre où une variable ?
    En fait sur mon premier formulaire j'ai 2 listes modifiables:
    La première permet le tri des animaux via le champ id_atelier
    La deuxième permet donc de choisir un animal dans l'atelier

    Et le nom du champ de cette deuxième liste est nommé lm_atelier_animal

    le SQL requis est dans le premier message, cf lien donné dans premier post

    Merci pour ton aide

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    En fait tu as répondu à ma question en changeant la fin du DoCmd.OpenForm

    Starec

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    En fait tu as répondu à ma question en changeant la fin du DoCmd.OpenForm
    Cool

    Sinon as tu un tuyau pour me permettre de pointer sur le dernier enregistrement de cet id_animal?

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    J'ai apparement trouvé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub BtInsem_Click()
     'Ouvrir le Formulaire de L'animal
        DoCmd.OpenForm "2-07_F_S_Reproduction", , , "[id_animal] =" & Me.[lm_atelier_animal]
        'trouver le dernier enregistrement
        DoCmd.GoToRecord , , acLast
        'Cocher la case inseminee
     
        'placer le curseur sur date-reproduction
     
     
    End Sub
    En fait, en plus d'apprendre les bases du VB il faut aussi s'habituer à l'aide et à la FAQ dvpz.com

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

Discussions similaires

  1. [AC-2010] Macro : condition where entre formulaire et sous formulaire
    Par Kintin dans le forum IHM
    Réponses: 15
    Dernier message: 05/02/2015, 00h50
  2. Condition Where sur ouverture formulaire
    Par Gilles93 dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/05/2014, 13h12
  3. Sous formulaire + condition Where
    Par maxime350 dans le forum IHM
    Réponses: 2
    Dernier message: 01/06/2008, 22h42
  4. Réponses: 5
    Dernier message: 23/03/2007, 09h58
  5. Réponses: 3
    Dernier message: 16/02/2006, 16h58

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