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 :

Plusieurs conditions à l'ouverture d'un formulaire [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut Plusieurs conditions à l'ouverture d'un formulaire
    Bonjour

    J'ai un petit problème, je pose quelques conditions à l'ouverture d'un formulaire, mais je ne parviens à injecter une valeur dans ma variable "stdepuis".

    J'ai essayé en variable public, même chose.

    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
    Private Sub BTN_CourrierA_Entité_Click()
        Dim stDocName As String
        Dim stlinkcriteria As String
        Dim stlinkcriteria2 As String
     
        stretard = Me.ZT_Retard
        stdepuis = Me.ZT_depuis
     
        stDocName = "F_Courrier_Arrivée_Liste"
        stlinkcriteria = "[Num_Service_Gestionnaire]=" & Me![ZLD_CourrierA_Entité] & " And (Date() - [T_Courrier_Arrivee].[Date création fiche arrivée]) >= " & stretard
        stlinkcriteria2 = "[Num_Service_Gestionnaire]=" & Me![ZLD_CourrierA_Entité] & " And (Date() - [T_Courrier_Arrivee].[Date création fiche arrivée]) >= " & stretard & " And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= stdepuis And SR = False And [Date expédition doc] is Null"
     
     
       If Me.Cocher_a_traiter.Value = True Then
            sttitre_etat = "Courriers reçus jusqu'au " & (Date - stretard) & ", nécessitant une réponse mais n'en ayant toujours pas"
            stcondition = stlinkcriteria2
            DoCmd.Close
            DoCmd.OpenForm stDocName, , , stlinkcriteria2
        Else
            sttitre_etat = "Courriers reçus jusqu'au " & (Date - stretard)
            stcondition = stlinkcriteria
            DoCmd.Close
            DoCmd.OpenForm stDocName, , , stlinkcriteria
        End If
    End Sub
    En clair, tout se passe biens, sauf lorsque je rajoute ce critère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= stdepuis
    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 56
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Il ne manquerait pas des guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= " & stdepuis & "

  3. #3
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    Citation Envoyé par jcdenton057 Voir le message
    Il ne manquerait pas des guillemets
    Merci de ta réponse, je reprends la mienne, afin que ce soit un peu plus clair.

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= " & stdepuis & "
    stdepuis n'est pas appliqué.

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= stdepuis
    une textbox s'ouvre et me demande d'entrer une valeur du paramètre stdepuis, et alors ça fonctionne.

    J'aimerais donc que la valeur saisie dans le contrôle du précédent formulaire soit utilisée directement à l'ouverture de mon autre formulaire.

    Voilà, en espérant que cela soit un peu plus compréhensible.

    Merci d'avance

  4. #4
    Membre averti Avatar de Oliv'83
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Mars 2008
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2008
    Messages : 421
    Points : 309
    Points
    309
    Par défaut
    Bonjour Minot,

    Et si tu utilisais un OpenArgs (http://access.developpez.com/faq/?pa...#PreremplChamp ).

    Oliv'

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 56
    Points : 67
    Points
    67
    Par défaut
    ah j'oubliai : si ta variable stdepuis est au format date, tu dois la mettre entre des #

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= #" & stdepuis & "#

  6. #6
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    ça va nettement mieux ainsi, merci !

    Par contre, truc de fou !!! Si je mets une date commençant par un jour dans les dizaines, vingtains, ou trente, c'est bon. Si mon date choisie commence par 01 par exemple, ça considère automatiquement janvier, et pas le 1er jour du mois . Pourtant j'ai précisé Date abrégée dans la table ou le contrôle du formulaire.
    Il m'inverse "dd" et "mm" dès qu'il peut !

    Donc je pense qu'il faut que précise le format de ma variable date. Je teste...

  7. #7
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    Citation Envoyé par Oliv'83 Voir le message
    Bonjour Minot,

    Et si tu utilisais un OpenArgs (http://access.developpez.com/faq/?pa...#PreremplChamp ).

    Oliv'
    Salut voisin, et merci de ton intervention, je n'ai pas testé openargs, est-ce très différent de la condionwhere de la commande openform?

    @+

  8. #8
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    C'est bon, le problème venait donc du fait que je concaténais mal, et que jet traite les date au format US, donc il fallait convertir ma variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    And [T_Courrier_Arrivee].[Date création fiche arrivée] >= #" & Format(stdepuis, "mm/dd/yyyy") & "#
    Merci !!!

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

Discussions similaires

  1. Condition sur ouverture d'un formulaire
    Par Chagui dans le forum IHM
    Réponses: 4
    Dernier message: 18/08/2010, 15h20
  2. Macro avec plusieurs conditions pour ouverture formulaire
    Par Jacques-Henri dans le forum IHM
    Réponses: 2
    Dernier message: 05/08/2008, 22h44
  3. Mettre plusieurs conditions pour ouverture d'un état
    Par L'Oracle dans le forum Access
    Réponses: 2
    Dernier message: 01/07/2006, 15h33
  4. ouverture d'un formulaire si condition
    Par questions dans le forum Access
    Réponses: 10
    Dernier message: 06/06/2006, 16h52
  5. Erreur sur l'ouverture d'un formulaire avec condition
    Par Virgile59 dans le forum Access
    Réponses: 4
    Dernier message: 08/11/2005, 14h16

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