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 :

Problème pour un formulaire avec RefreshQuery


Sujet :

IHM

  1. #41
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Voilà ce qui se passe au niveau des colonnes :
    Pièce jointe 13128

    Sinon par rapport à l'erreur pour la zone de liste résultat voici l'erreur :
    Pièce jointe 13129
    ~ Lola ~

  2. #42
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut
    Re-exemple.

  3. #43
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    C'est ce que je fais, je ne vois pas où peut être la différence. Voici ma base de données :
    Pièce jointe 13135

    Est ce que tu veux une différence ou non ? Si oui où parce que moi je me creuse la tête mais je ne vois pas...
    ~ Lola ~

  4. #44
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut
    J'ai opéré une petite modif.

  5. #45
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Merci c'est super ça marche...
    Grâce à vous j'ai vraiment compris tout ce que je faisais, au début j'avais un peu de mal...
    ~ Lola ~

  6. #46
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Alors voilà je continue mon formulaire mais encore j'ai un peu de mal.
    Maintenant je veux afficher les enregistrements entre deux dates : DateDébut et DateFin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     If Me.q2Début Then
     
        Sql = Sql & "And ARRET!Date like '*" & Me.q2DateDébut & "*' "
     
    End If
     
    If Me.q2Fin Then
     
        Sql = Sql & "And ARRET!Date like '*" & Me.q2DateFin & "*' "
     
    End If
    Est ce que vous savez s'il existe un moyen de remplacer like par > ou <?
    En effet je veux afficher toutes les dates qui sont supérieures à la date de début et inférieures à la date de fin....
    Merci de m'aider c'est super sympa...
    ~ Lola ~

  7. #47
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut
    Salut,

    Comme çà ?

  8. #48
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Salut,
    non en fait avec deux listes de choix ( chaque liste contient les dates qui sont dans la table, ça empèche les erreurs si l'utilisateur entre une date qui n'existe pas dans la table )
    Voilà un imprime écran du formulaire :
    Pièce jointe 13212

    En fait mon objectif est que dans les résultats je puisse voir les blocages entre une date A et une date B, ou que les planifié ou les deux à la fois.

    Si je ne suis pas claire n'hésite pas à me demander plus d'explications.
    ~ Lola ~

  9. #49
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut
    Re,

  10. #50
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    J'ai essayé avec ton code mais non ça ne marche pas...

    Alors voilà ma base de données, j'ai une nouvelle erreur par rapport à la MAJ que je n'avais pas précédement...

    Pièce jointe 13215
    ~ Lola ~

  11. #51
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 62
    Points : 62
    Points
    62
    Par défaut
    L'erreur par rapport à la MAJ vient a priori de l'événement beforeupdate et du code =[Regroupement pour les dates]!Date sur q2datedébut. En le supprimant cela fonctionne...

    Ensuite, ton code c'est cela

    ARRET.Date > [Forms]![Formulaire]![Datedébut] And Date < [Forms]![Formulaire]![DateFin]

    c'est pas plutôt cela car Date c'est un mot réservé pour la date actuelle
    ARRET.Date > [Forms]![Formulaire]![q2Datedébut]) And (ARRET.Date < [Forms]![Formulaire]![q2DateFin])

    Quand tu selectionnes q3planifié et Q3blocage, ta clause SELECT prend 2 where

    Met un MsgBox Sql dans la procédure refreshquery pour voir le résultat

  12. #52
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Voilà tous mon code mais à aucun moment il n'y a de BeforeUpdate, regarde la pièce jointe que j'ai envoyé dans le post précédent il y a mon formulaire.

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     Option Compare Database
    'au chargement de la page on veut afficher tous les enregistrements de la table ARRET
    Private Sub Form_Load()
    Me.résultats.RowSource = "SELECT NuméroAuto, CodeSystème, Date, HeureDébut, Durée, Type, Caractéristique, CodeCause FROM ARRET;"
    Me.résultats.Requery
    End Sub
     
    'fonction qui définit l'instruction SQL
    Private Sub RefreshQuery()
    Dim Sql As String
    'on choisit les champs que l'on veut afficher
    Sql = "SELECT NuméroAuto, CodeSystème, Date, HeureDébut, Durée, Type, Caractéristique, CodeCause FROM ARRET "
    'si q3Blocage est coché alors on rajoute une condition à l'instruction SQL
    If Me.q3Blocage Then
    Me.q2DateDébut.RowSource = "SELECT NuméroAuto, CodeSystème, Date, HeureDébut, Durée, Type, Caractéristique, CodeCause FROM ARRET WHERE Type='Blocage';"
    Me.q2DateFin.RowSource = "SELECT NuméroAuto, CodeSystème, Date, HeureDébut, Durée, Type, Caractéristique, CodeCause FROM ARRET WHERE Type='Blocage';"
    Me.q2DateDébut.Requery
    Me.q2DateFin.Requery
        Sql = Sql & "WHERE ARRET!Type = 'Blocage' AND ARRET.Date>[Forms]![Formulaire]![q2DateDébut] And Date<[Forms]![Formulaire]![q2DateFin]"
    End If
    'si q3Planifié est coché alors on rajoute une condition à l'instruction SQL
    If Me.q3Planifié Then
    Me.q2DateDébut.RowSource = "SELECT NuméroAuto, CodeSystème, Date, HeureDébut, Durée, Type, Caractéristique, CodeCause FROM ARRET WHERE Type='Planifié';"
    Me.q2DateFin.RowSource = "SELECT NuméroAuto, CodeSystème, Date, HeureDébut, Durée, Type, Caractéristique, CodeCause FROM ARRET WHERE Type='Planifié';"
    Me.q2DateDébut.Requery
    Me.q2DateFin.Requery
        Sql = Sql & "WHERE ARRET!Type = 'Planifié' AND ARRET.Date>[Forms]![Formulaire]![q2DateDébut] And Date<[Forms]![Formulaire]![q2DateFin]"
    End If
    Sql = Sql & ";"
    'on affecte à la listbox 'résultats' l'instruction SQL
    Me.résultats.RowSource = Sql
    Me.résultats.Requery
    End Sub
    'action quand on clique sur la case à cocher pour la date
    Private Sub q2Début_Click()
     
        'on veut que la liste de date ne soit visible que si on clique dans la case
     
        If Me.q2Début = True Then
            Me.q2DateDébut.Visible = True
        Else
            Me.q2DateDébut.Visible = False
        End If
     
        RefreshQuery
     
    End Sub
    'action quand on clique sur la zone de liste modifiable pour la date
    Private Sub q2DateDébut_AfterUpdate()
     
        RefreshQuery
     
    End Sub
    'action quand on clique sur la zone de liste modifiable pour la date
    Private Sub q2DateFin_AfterUpdate()
     
        RefreshQuery
     
    End Sub
    'action quand on clique sur la case à cocher pour la date
    Private Sub q2Fin_Click()
     
        'on veut que la liste de date ne soit visible que si on clique dans la case
     
        If Me.q2Fin = True Then
            Me.q2DateFin.Visible = True
        Else
            Me.q2DateFin.Visible = False
        End If
     
        RefreshQuery
     
    End Sub
     
    'action quand on clique sur la case à cocher pour les blocages
    Private Sub q3Blocage_Click()
     
        RefreshQuery
     
    End Sub
    'action quand on clique sur la case à cocher pour les arrêts planifiés
    Private Sub q3planifié_Click()
     
        RefreshQuery
     
    End Sub
     
    'action quand on double clique sur la zone de liste pour avoir les résultats
    Private Sub résultats_DblClick(Cancel As Integer)
     
        DoCmd.OpenForm "Formulaire1", acNormal, , "[NuméroAuto] = " & Me.résultats
     
    End Sub
    Est ce que tu vois pourquoi cela fait cette erreur...?
    Merci de m'aider
    ~ Lola ~

  13. #53
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 62
    Points : 62
    Points
    62
    Par défaut
    met ton formulaire en mode création puis clic droit/ propriétés sur le controle q2dateDébut. Puis onglet événement tu verras que tu as un événement BeforeUpdate définit

  14. #54
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut
    Citation Envoyé par christabin
    L'erreur par rapport à la MAJ vient a priori de l'événement beforeupdate et du code =[Regroupement pour les dates]!Date sur q2datedébut. En le supprimant cela fonctionne...
    Regarde sur l'évènement Avant MAJ de Q2DateDébut

  15. #55
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Ok merci maintenant c'est mieux, comment ça se fait que quand je choisit une première fois deux dates et Blocage par exemple, je ne puisse pas choisir une deuxième fois deux autres dates ?
    La liste de choix me met les numéro Auto du type d'arrêt demandé....
    Pièce jointe 13223

    Merci pour ta première solution, je ne sais pas comment cet afterupdate est arrivé là...
    ~ Lola ~

  16. #56
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Au niveau du Blocage et du Planifié au niveau du code Click j'ai mis de façon à ce qu'on puisse n'en sélectionner que l'un des deux :

    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
     Private Sub q3Blocage_Click()
     
        q3Planifié = False
     
        RefreshQuery
     
    End Sub
     
    Private Sub q3planifié_Click()
     
        q3Blocage = False
     
        RefreshQuery
     
    End Sub
    Comme ca ma clause select ne peut pas avoir deux where, si je peux améliorer pour avoir les deux ça serait mieux mais le choix entre deux dates est plus important.
    ~ Lola ~

  17. #57
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 62
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par lola06
    Ok merci maintenant c'est mieux, comment ça se fait que quand je choisit une première fois deux dates et Blocage par exemple, je ne puisse pas choisir une deuxième fois deux autres dates ?
    La liste de choix me met les numéro Auto du type d'arrêt demandé....
    Pièce jointe 13223

    Merci pour ta première solution, je ne sais pas comment cet afterupdate est arrivé là...
    L'erreur par exemple vient de là dans refreshquery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.q2DateFin.RowSource = "SELECT  NuméroAuto, CodeSystème,Date, HeureDébut, Durée, Type, Caractéristique, CodeCause FROM ARRET WHERE Type='Planifié';"
    tu dis à ton code de tout sélectionner. Quand le code est appelé, il affiche donc tout et comme dans ton controle dans l'onglet "données" en dessous de "contenu", le nombre de colonne liée est "1" il affiche la première du select soit "numéro automatique"

    Ta rowsource devrait plutot être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.q2DateDébut.RowSource = "SELECT  Date FROM ARRET WHERE Type='Blocage';"
    Pour avoir les 2 cas, tu peux ajouter un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     If Me.q3Blocage And Me.q3Planifié Then
     
    Me.q2DateDébut.RowSource = "SELECT ....Type='Planifié';"
    Me.q2DateFin.RowSource = "SELECT  ....Type='Planifié';"
    Me.q2DateDébut.Requery
    Me.q2DateFin.Requery
     Sql = Sql & "WHERE (ARRET!Type = 'Planifié' and ARRET!Type = 'Blocage') AND ....
    End If
    tu dois retravailler ta procédure refresh query

  18. #58
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Ok merci, je m'y met et je vois ce que ça donne, merci encore de m'aider...
    ~ Lola ~

  19. #59
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 62
    Points : 62
    Points
    62
    Par défaut
    bon allez ma fille dormant c'est jour de bonté avant de récupérer la numéro 2, je vais ajouter une piste
    tu dois gérer les cas
    si une case est cochée l'autre ne l'est pas
    les 2 cochées

    soit en vba
    If Me.q3Planifié And Not (Me.q3Blocage) Then
    if Me.q3Blocage And Not (Me.q3Planifié) Then
    if Me.q3Blocage and Me.q3Planifié

  20. #60
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut Décidement...re,re
    Un autre exemple dans lequel tu opères ton tri sur "tout","Blocage","Planifié" ou entre 2 dates sur "tout","Blocage","Planifié" par l'intermédiaire d'un groupe d'option.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/07/2012, 23h04
  2. Problème pour stopper thread avec runnable
    Par fabou3377 dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 13/03/2008, 13h43
  3. Problème pour la Division avec NOT EXISTS
    Par myzu69 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 08/11/2007, 14h50
  4. Problème pour compiler Ogre avec VS 2005
    Par Oxideur dans le forum Ogre
    Réponses: 2
    Dernier message: 01/03/2007, 18h33
  5. Problème pour utiliser split avec "\"
    Par Nicolas_555 dans le forum Langage
    Réponses: 6
    Dernier message: 03/08/2006, 14h42

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