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 :

[A-03]Aide Code If sur groupe d'option


Sujet :

VBA Access

  1. #41
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Je n'en sais rien.
    J'ai eu plusieurs versions de mon code de départ. Je ne sais plus ce qui fonctionne. De toute façon, le requery ne m'aidera pas à obtenir ce que je veux, nan ?

  2. #42
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut

  3. #43
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    Dites moi si je comprend bien

    1 : tu as un formulaire (nom?) dans lequel tu as un control onglet (nom?)
    2 : dans un des onglets, tu as tes champs quickseak et Texte63
    3 : tu voudrais montrer l'onglet qui as le (sous) formulaire ACTUALISATION selon le critère saisi dans Texte63

    4 : ton sous formulaire ACTUALISATION quel est la source de ses données?

  4. #44
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Citation Envoyé par DMboup Voir le message
    Dites moi si je comprend bien

    1 : tu as un formulaire (nom?) dans lequel tu as un control onglet (nom?)
    2 : dans un des onglets, tu as tes champs quickseak et Texte63
    3 : tu voudrais montrer l'onglet qui as le (sous) formulaire ACTUALISATION selon le critère saisi dans Texte63

    4 : ton sous formulaire ACTUALISATION quel est la source de ses données?
    Je reprends :

    Situation :
    Un form HOME, dans lequel il y a :
    - 5 onglets dont les onglets MENU et ACTUALISATION (tous invisibles à l'ouverture sauf ACCUEIL).
    - dans l'onglet MENU :
    -j'ai un contrôle quickseak qui est un groupe d'options auquel j'ai donné la valeur par défaut 0, sur tes conseils
    -ce contrôle a deux options (1et2) qui correspondent à des critères de recherche
    -une zone de texte pour entrer du numérique (des références)
    -un bouton OK pour valider

    But = quand on sélectionne correctement un critère et qu'on entre une bonne référence, cela doit ouvrir l'onglet ACTUALISATION sur lequel se trouve un sous-form ACTU (j'ai construit le formulaire ACTU intégré en tant que ss-form donc, à partir d'une T_ANNONCES), sur la référence validée dans le MENU

    Objectif :
    - si aucune des cases n'est sélectionnée, je veux un msgbox pour la situation
    - si 1 case est sélectionnée mais aucune valeur entrée dans la zone de texte indépendante, un autre msgbox de circonstance
    - si aucune case n'est sélectonnée mais que la zone de texte est remplie, le msg box du premier cas de figure.
    - si tout est bien sélectionné mais que la référence entrée dans la zone de texte est erronée, alors un 3ème msgbx mais sans que cela n'ouvre l'onglet ACTU.

    Problème avec mon code actuel :
    les 3 premiers cas de figures fonctionnent.
    Le 4ème me met bien mon message box mais ouvre l'onglet ACTUALISATION quand même.
    De plus, quand tout est bien sélectionné et que je valide, ça m'ouvre tout simplement l'onglet ACTUALISATION (chouette) mais pas sur la réf, sélectionnée, comme une consultation normale de tous mes enregistrements à partir du premier.

    Je viens de vider mes pièces jointes, donc voici un bout de ma base

  5. #45
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    je crois que le problème vient du fait que tous les formulaires des onglets sont tous ouverts. J'ai apporté des modifications maintenant au moins le formulaire est ouvert sur le bon enregistrement mais il reste des erreurs à corriger.

    Cherchons ...

    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
    32
    33
    34
    35
     
    Else
     
        Dim req As Recordset
        If Me.quickseak = 1 Then
               Set req = CurrentDb().OpenRecordset("SELECT Réfdossier FROM ANNONCES WHERE Réfdossier = " & Me.Texte63 & "")
               If req.RecordCount > 0 Then
                     mcri = "Réfdossier = " & Me.Texte63
                     Form_HOME.ACTUALISATION.Visible = True
                     Form_HOME.ACTUALISATION.SetFocus
                     Form_HOME.MENU.Visible = False
     
                     Forms!HOME.form!ACTU.Filter=mcri
                     Forms!HOME.form!ACTU.Filteron=True
              Else
                        MsgBox "Référence dossier erronée ou inexistante", vbInformation + vbOKOnly, "AVERTISSEMENT"
              End If
        Else
              Set req = CurrentDb().OpenRecordset("SELECT Réfmandat FROM ANNONCES WHERE Réfmandat = " & Me.Texte63 & "")
              If req.RecordCount > 0 Then
                    mcri = "Réfmandat = " & Me.Texte63
                     Form_HOME.ACTUALISATION.Visible = True
                     Form_HOME.ACTUALISATION.SetFocus
                     Form_HOME.MENU.Visible = False
     
                     Forms!HOME.form!ACTU.Filter=mcri
                     Forms!HOME.form!ACTU.Filteron=True
     
              Else
                    MsgBox "Référence mandat erronée ou inexistante", vbInformation + vbOKOnly, "AVERTISSEMENT"
     
              End If
         End If
    End If
    End If
    Fichiers attachés Fichiers attachés

  6. #46
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Bonjour et merci pour ton temps.
    Je viens d'essayer ton code mais cela bug sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!HOME.Form!ACTU.Filter = mcri
    quand le critère et la réf sont corrects.

    Le reste, c'est OK. j'ai mes msgbx selon les situations

  7. #47
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Par défaut
    et que vaut mcri??

  8. #48
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Ce n'est vraiment pas à moi qu'il faut demander ça !
    Je ne sais pas ce que ça veut dire

  9. #49
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Par défaut
    et ben juste avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!HOME.Form!ACTU.Filter = mcri
    tu dois avoir une ligne mcri=...

    Donne nous cette ligne

    je pourrais regarder dans la bdd jointe, mais je n'ai que access97 ici...

  10. #50
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Eh bien il n'y a rien juste avant.
    C'est le dernier code que DMoup a donné en page 3

  11. #51
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Par défaut
    c'est donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcri = "Réfdossier = " & Me.Texte63
    La question maintenant: sur ton formulaire Forms!HOME.form!ACTU, y'a-t'il un textbox ou autre qui s'appelle "Réfdossier"??? (je parle du nom, pas de sa source)

  12. #52
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Non ! Sur ACTU, le nom est "Référence dossier" (la source étant Réfdossier)

  13. #53
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Par défaut
    alors essaie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcri = "[Référence dossier] = " & Me.Texte63
    idem pour RefMandat

  14. #54
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Toujours le même problème et le même bug, cela n'a rien changé

  15. #55
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    Citation Envoyé par Nessie37 Voir le message
    Je viens d'essayer ton code mais cela bug sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!HOME.Form!ACTU.Filter = mcri
    Oui j'avais dit qu'il ya des erreurs à corriger.

    Par contre pour
    Citation Envoyé par 6ril25
    et que vaut mcri??
    tu devrait en principe pouvoir répondre avec un peu d'attention !

    Alors le problème c'est juste la manière de référencer le sous formulaire dont le vrai nom est "CONSULT ANNONCES" et que toi tu renomme en ACTU.
    En plus la variable mcri n'avait pas été déclaré.

    Donc le code qui marche est ci-dessous. Tu peux le copier et le coller directement sur le Private Sub du bouton OK. Mais après cela, il faut essayer de le comprendre.

    Il fallait juste remplacer
    Forms!HOME.Form!ACTU
    par
    Forms!home!ACTU.Form
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Dim mcri As String
    If Me.quickseak.Value = 0 Then
        MsgBox "Veuillez sélectionner un critère de recherche", vbInformation + vbOKOnly, "AVERTISSEMENT"
    Else
        If IsNull(Me.Texte63.Value) = True Then
            MsgBox "Veuillez saisir une référence.", vbInformation + vbOKOnly, "AVERTISSEMENT"
     
    Else
     
     
        Dim req As Recordset
        If Me.quickseak = 1 Then
            Set req = CurrentDb().OpenRecordset("SELECT Réfdossier FROM ANNONCES WHERE Réfdossier = " & Me.Texte63 & "")
            If req.RecordCount > 0 Then
                mcri = "Réfdossier = " & Me.Texte63
     
                Form_HOME.ACTUALISATION.Visible = True
                Form_HOME.ACTUALISATION.SetFocus
                Form_HOME.MENU.Visible = False
     
                Forms!home.Form!ACTU.SetFocus
                Forms!home!ACTU.Form.Filter = mcri
                Forms!home!ACTU.Form.FilterOn = True
                Forms!home!ACTU.Requery
     
            Else
                MsgBox "Référence dossier erronée ou inexistante", vbInformation + vbOKOnly, "AVERTISSEMENT"
            End If
        Else
            Set req = CurrentDb().OpenRecordset("SELECT Réfmandat FROM ANNONCES WHERE Réfmandat = " & Me.Texte63 & "")
            If req.RecordCount > 0 Then
                mcri = "Réfmandat = " & Me.Texte63
     
                Form_HOME.ACTUALISATION.Visible = True
                Form_HOME.ACTUALISATION.SetFocus
                Form_HOME.MENU.Visible = False
     
                Forms!home.Form!ACTU.SetFocus
                Forms!home!ACTU.Form.Filter = mcri
                Forms!home!ACTU.Form.FilterOn = True
                Forms!home!ACTU.Requery
     
            Else
                MsgBox "Référence mandat erronée ou inexistante", vbInformation + vbOKOnly, "AVERTISSEMENT"
            End If
        End If
    End If
    End If
    voila

  16. #56
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Par défaut
    J'vais faire une prière en attendant que tu nous dises si ça marche

  17. #57
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Citation Envoyé par 6ril25 Voir le message
    J'vais faire une prière en attendant que tu nous dises si ça marche
    MDR ! J'arrive

  18. #58
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Verdict :

    ça fonctionne MBoup
    SAUF que .....(ce serait trop facile ), une fois sur l'enregistrement désiré, les boutons de défilement (précédent, suivant...) ne fonctionnent plus. Je ne peux pas, si je le souhiate, aller à l'enregistrement d'après ...
    Il y a moindre mal mais c'est embêtant pour l'utilisateur

  19. #59
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Par défaut
    c'est parce que tu as un filtre. il suffit de supprimer ce filtre, soit par un clic sur un bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Forms!home!ACTU.Form.FilterOn = false
    soit par le symbole "entonnoir" de la règle d'outils.

    Je te conseille fortement le bouton...

  20. #60
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Par défaut
    Ok pour moi (quoique) mais je ne vois pas où mettre ce bouton dans le mesure où je ne vais pas demander aux utilisateurs de cliquer sur le bouton à chque fois qu'ils voudront voir les enregistrements alentours

Discussions similaires

  1. Aide requise sur "du code java"? (sur la documentation)
    Par corseb-delete dans le forum Général Java
    Réponses: 2
    Dernier message: 07/04/2008, 12h51
  2. If then sur groupe d'option.
    Par Nessie37 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/11/2007, 19h22
  3. Demande d'aide pour un problème de code source sur devC++
    Par Rickantonais dans le forum Débuter
    Réponses: 28
    Dernier message: 01/08/2007, 15h09
  4. Aide sur Group by , sum et count
    Par rippoz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/06/2007, 15h48
  5. [Access 2000] Evénement click sur groupe d'option
    Par Mariboo dans le forum Access
    Réponses: 1
    Dernier message: 22/09/2006, 15h52

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