Ouvrir états en foncion de valeurs, Access

Résolu
maxireussite Messages postés 405 Statut Membre -  
maxireussite Messages postés 405 Statut Membre -
Bonjour,

Je souhaite dans Access 2003 pouvoir ouvrir 3 états différents en fonction de la valeur d'un champs.

Quelqu'un pourrait-il m'indiquer la procédure ?

Merci de votre aide.

8 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,
    Principe:

    If Valeur_Champ = x Then
    Nom_Rapport = "A"
    ElseIf Valeur_Champ = y Then
    Nom_Rapport = "B"
    ElseIf Valeur_Champ = z Then
    Nom_Rapport = "C"
    Else
    End If

    DoCmd.OpenReport Nom_Rapport, acViewNormal

    Bonne suite
    0
  2. maxireussite Messages postés 405 Statut Membre 5
     
    Merci bcp. Je vais donc essayer cela.
    0
  3. maxireussite Messages postés 405 Statut Membre 5
     
    Bon en fait c un peu plus compliqué, car "sur clic" doit aller chercher la valeur du champ dans un sous-formulaire, alors que le bouton est sur le formulaire.
    0
    1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Salut,

      variable = forms("nom_formulaire").controls("nom_du_champ")

      ou un truc approchant
      0
  4. maxireussite Messages postés 405 Statut Membre 5
     
    "OU un truc approchant..."
    M'ouais l'embêtant c qu'ici l'approchant ou l'à peu près ne fonctionne pas...
    Merci quand même.
    0
    1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Qu'as-tu mis ? Qu'est-ce qui ne fonctionne pas ? Message d'erreur ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. maxireussite Messages postés 405 Statut Membre 5
     
    Dans l'exemple ci-dessus, le bouton ouvre l'état et affiche 1 un enregistrement bien précis.

    Private Sub AperçuFacture_Click()
    On Error GoTo Err_AperçuFacture_Click
    If Forms![Commandes par client]![Sous-formulaire Commandes par client].Form.RecordsetClone.RecordCount = 0 Then
    MsgBox "Tapez les informations sur la commande avant d'afficher l'aperçu de la facture."
    Else
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    DoCmd.OpenReport "Facture", acPreview, , "[RéfCommande] = Forms![Commandes par client]![Sous-formulaire Commandes par client].form![RéfCommande]"
    End If

    Exit_AperçuFacture_Click:
    Exit Sub

    Err_AperçuFacture_Click:
    If Err <> 2501 Then
    MsgBox Err.Description
    End If
    Resum

    Comment filtrer comme dans l'exemple ci-dessus un enregistrement, dans cet exemple qui ouvre selon une valeur l'état 1,2 ou 3 ?

    Comment « combiner les deux ? Est-ce possible ?

    Private Sub Commande64_Click()

    Select Case Forms![Commandes par client]![Sous-formulaire Commandes par client].Form![TypeInterventions]

    Case "3d"
    DoCmd.OpenReport "Interventions", acPreview

    Case "Anti-termites"
    DoCmd.OpenReport "Intervention2", acPreview

    Case "Barrière Physico-chimique"
    DoCmd.OpenReport "Intervention3", acPreview

    End Select

    End Sub
    0
    1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Soit c'est trop simple, soit je ne comprends pas le problème.

      Pour ouvrir l'état "intervention2" avec un filtrage, il te suffit de rajouter le contenu du filtre après l'acpreview, comme donné dans l'exemple que tu as mis au-dessus...
      0
  7. maxireussite Messages postés 405 Statut Membre 5
     
    Ben oui, j'imagine quand on sait piloter un A380 il suffit de le faire....

    Justement moi ne je sais pas ou en tout cas j'ai essayé et ça ne fonctionne pas...
    0
    1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Qu'as-tu mis ? Qu'est-ce qui ne fonctionne pas ? Message d'erreur ?
      0
  8. maxireussite Messages postés 405 Statut Membre 5
     
    Bon, ben j'y suis arrivé, voilà la solution :

    Private Sub Commande64_Click()

    Select Case Forms![Commandes par client]![Sous-formulaire Commandes par client].Form![TypeInterventions]

    Case "3d"
    DoCmd.OpenReport "Interventions", acPreview, , "[RefIntervention] = Forms![Commandes par client]![Sous-formulaire Commandes par client].form![RefIntervention]"

    Case "Anti-termites"
    DoCmd.OpenReport "Intervention2", acPreview, , "[RefIntervention] = Forms![Commandes par client]![Sous-formulaire Commandes par client].form![RefIntervention]"

    Case "Barrière Physico-chimique"
    DoCmd.OpenReport "Intervention3", acPreview, , "[RefIntervention] = Forms![Commandes par client]![Sous-formulaire Commandes par client].form![RefIntervention]"

    End Select

    End Sub
    0
    1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      C'est ce que je t'avais suggéré...
      Content que tu aies réussi !
      0
    2. maxireussite Messages postés 405 Statut Membre 5
       
      Merci. T'aurais pas une idée pour mon autre problème avec les cases à cocher que je souhaite activer ou désactiver en fonction de la valeur d'une zone de liste ?
      0
    3. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      je viens de regarder : on t'a proposé un truc, ça ne va pas ou ce n'est pas ce que tu voulais faire ?
      0
  9. maxireussite Messages postés 405 Statut Membre 5
     
    Ben on ne répond pas à ma question. Je veux activer ou désactiver une série de cases à cocher en fonction des valeurs d'une zone de liste.
    0