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 :

case oui/non a inverse le sens des croix dans le moteur de recherche


Sujet :

IHM

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut case oui/non a inverse le sens des croix dans le moteur de recherche
    bonjour

    je souhaite inverse les sens des croix pour les case oui/non dans mon formulaire qui est un moteur de recherche. actuellement quand j'ouvre le formulaire les case son coche et pour choisir un critaire il faut la decoche et je ne trouve pas sa trop logique. Je souhaite que les champ selection donc coche sont les champ prie pour les critaires du moteur de recherche.

    je joint le programme pour le moteur de recherche que j'utiliser merci de m'aide
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
     
    Private Sub chkConventionne_Click()
     
     
    RefreshQuery
     
    End Sub
     
    Private Sub chkarelance_Click()
     
     
    RefreshQuery
     
    End Sub
     
     
    Private Sub chkNOMOPERATION_Click()
     
    If Me.chkNOMOPERATION Then
        Me.cmbRechNOMOPERATION.Visible = False
    Else
        Me.cmbRechNOMOPERATION.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
    Private Sub chkNOTEPRESC_Click()
     
    If Me.chkNOTEPRESC Then
        Me.txtRechNOTEPRESC.Visible = False
    Else
        Me.txtRechNOTEPRESC.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
    Private Sub chknonConventionne_Click()
     
    RefreshQuery
     
    End Sub
     
     
    Private Sub chkGRANDPETITCOMPTEPRESC_Click()
     
    If Me.chkGRANDPETITCOMPTEPRESC Then
        Me.cmbRechGRANDPETITCOMPTEPRESC.Visible = False
    Else
        Me.cmbRechGRANDPETITCOMPTEPRESC.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
    Private Sub cmbRechNOMOPERATION_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub cmbRechGRANDPETITCOMPTEPRESC_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub Form_Load()
     
    Dim ctl As Control
     
    For Each ctl In Me.Controls
        Select Case Left(ctl.Name, 3)
            Case "chk"
                ctl.Value = -1
     
            Case "lbl"
                ctl.Caption = "- * - * -"
     
            Case "txt"
                ctl.Visible = False
                ctl.Value = ""
     
            Case "cmb"
                ctl.Visible = False
     
        End Select
    Next ctl
     
    Me.lstResults.RowSource = "SELECT recherprescri.NUM_PRESC, recherprescri.NOM_PRESC, recherprescri.GRANDPETITCOMPTE_PRESC, recherprescri.NOTE_PRESC, recherprescri.DATE_RECU, recherprescri.COMM_IMMO, recherprescri.COMM_PACKAGE, recherprescri.NOM_OPERATION, recherprescri.DATECOMMEN FROM recherprescri where recherprescri!NUM_PRESC <> 1 and recherprescri.OPE_FINI <> Yes ;"
     
    Me.lstResults.Requery
     
    End Sub
     
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQL = "SELECT recherprescri.NUM_PRESC, recherprescri.NOM_PRESC, recherprescri.GRANDPETITCOMPTE_PRESC, recherprescri.NOTE_PRESC, recherprescri.DATE_RECU, recherprescri.COMM_IMMO, recherprescri.COMM_PACKAGE, recherprescri.NOM_OPERATION, recherprescri.DATECOMMEN FROM recherprescri Where recherprescri!NUM_PRESC <> 1 and recherprescri.OPE_FINI <> Yes "
     
    If Not Me.chkConventionne Then
        SQL = SQL & "And recherprescri!DATE_RECU between " & CLng(Date) - 1 & " and " & CLng(Date - 540) - 1
    End If
    If Not Me.chkNOMOPERATION Then
        SQL = SQL & "And recherprescri!NOM_OPERATION = '" & Me.cmbRechNOMOPERATION & "' "
    End If
    If Not Me.chkNOTEPRESC Then
        SQL = SQL & "And recherprescri!NOTE_PRESC like '*" & Me.txtRechNOTEPRESC & "*' "
    End If
    If Not Me.chknonConventionne Then
         SQL = SQL & "And (recherprescri!DATE_RECU between " & CLng(Date - 540) - 1 & " and " & CLng(Date - 5400000) - 1 & _
          " Or recherprescri!DATE_RECU Is Null) "
    End If
    If Not Me.chkGRANDPETITCOMPTEPRESC Then
        SQL = SQL & "And recherprescri!GRANDPETITCOMPTE_PRESC = '" & Me.cmbRechGRANDPETITCOMPTEPRESC & "' "
    End If
    If Not Me.chkarelance Then
         SQL = SQL & "And (recherprescri!DATECOMMEN between " & CLng(Date - 30) & " and " & CLng(Date - 5400000) & _
          " Or recherprescri!DATECOMMEN Is Null) "
    End If
     
     
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    ' ligne avant modif
    'SQL = SQL & ";"
     
    ' ligne après modif
    SQL = SQL & vbCrLf & _
    "ORDER BY recherprescri.NOTE_PRESC DESC, PRESCRIPTEUR.NOM_PRESC ;"
     
    Me.lblStats.Caption = DCount("*", "recherprescri", SQLWhere) & " / " & DCount("*", "recherprescri")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
     
    End Sub
     
     
    Private Sub lstResults_DblClick(Cancel As Integer)
     
    DoCmd.OpenForm "saisie d'une fiche Prescripteur", acNormal, , "[NUM_PRESC] = " & Me.lstResults
     
     
    End Sub
     
    Private Sub txtRechNOTEPRESC_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub chkarelance_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonsoir,


    Je ne vois pas où est la difficulté. Il suffit d'enlever les NOT dans ta procédure RefreshQUery.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Me.chkConventionne Then
    ...


    En passant tu peux simplifier ton code ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.chkNOMOPERATION Then
        Me.cmbRechNOMOPERATION.Visible = False
    Else
        Me.cmbRechNOMOPERATION.Visible = True
    End If
    Peut s'écrire ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       Me.cmbRechNOMOPERATION.Visible = Me.chkNOMOPERATION
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    j'ai fait ce que tu m'a dis mais le probleme c'est que quand j'ouvre le formulaire toute les case sont encore coche je ne sais pk
    je te copier le nouveau code apres les modif que tu me dis et je te joint aussi en piece jointe un morceau de ma base.

    Par contre je voudrai apres imprimier le résultat de ma recherche et je n'arrive pas a le faire tu peux me dire comment le faire ou me le montre sur la base de donnée que je tejoint STP

    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    Option Compare Database
     
    Private Sub chkConventionne_Click()
     
     
    RefreshQuery
     
    End Sub
     
    Private Sub chkarelance_Click()
     
     
    RefreshQuery
     
    End Sub
     
     
    Private Sub chkNOMOPERATION_Click()
     
    Me.cmbRechNOMOPERATION.Visible = Me.chkNOMOPERATION
     
    RefreshQuery
     
    End Sub
     
    Private Sub chkNOTEPRESC_Click()
     
    Me.txtRechNOTEPRESC.Visible = Me.chkNOTEPRESC
     
    RefreshQuery
     
    End Sub
     
    Private Sub chknonConventionne_Click()
     
    RefreshQuery
     
    End Sub
     
     
    Private Sub chkGRANDPETITCOMPTEPRESC_Click()
     
    Me.cmbRechGRANDPETITCOMPTEPRESC.Visible = Me.chkGRANDPETITCOMPTEPRESC
     
    RefreshQuery
     
    End Sub
     
    Private Sub cmbRechNOMOPERATION_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub cmbRechGRANDPETITCOMPTEPRESC_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub Form_Load()
     
    Dim ctl As Control
     
    For Each ctl In Me.Controls
        Select Case Left(ctl.Name, 3)
            Case "chk"
                ctl.Value = -1
     
            Case "lbl"
                ctl.Caption = "- * - * -"
     
            Case "txt"
                ctl.Visible = False
                ctl.Value = ""
     
            Case "cmb"
                ctl.Visible = False
     
        End Select
    Next ctl
     
    Me.lstResults.RowSource = "SELECT recherprescri.NUM_PRESC, recherprescri.NOM_PRESC, recherprescri.GRANDPETITCOMPTE_PRESC, recherprescri.NOTE_PRESC, recherprescri.DATE_RECU, recherprescri.COMM_IMMO, recherprescri.COMM_PACKAGE, recherprescri.NOM_OPERATION, recherprescri.DATECOMMEN FROM recherprescri where recherprescri!NUM_PRESC <> 1 and recherprescri.OPE_FINI <> Yes ;"
     
    Me.lstResults.Requery
     
    End Sub
     
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQL = "SELECT recherprescri.NUM_PRESC, recherprescri.NOM_PRESC, recherprescri.GRANDPETITCOMPTE_PRESC, recherprescri.NOTE_PRESC, recherprescri.DATE_RECU, recherprescri.COMM_IMMO, recherprescri.COMM_PACKAGE, recherprescri.NOM_OPERATION, recherprescri.DATECOMMEN FROM recherprescri Where recherprescri!NUM_PRESC <> 1 and recherprescri.OPE_FINI <> Yes "
     
    If Me.chkConventionne Then
        SQL = SQL & "And recherprescri!DATE_RECU between " & CLng(Date) - 1 & " and " & CLng(Date - 540) - 1
    End If
    If Me.chkNOMOPERATION Then
        SQL = SQL & "And recherprescri!NOM_OPERATION = '" & Me.cmbRechNOMOPERATION & "' "
    End If
    If Me.chkNOTEPRESC Then
        SQL = SQL & "And recherprescri!NOTE_PRESC like '*" & Me.txtRechNOTEPRESC & "*' "
    End If
    If Me.chknonConventionne Then
         SQL = SQL & "And (recherprescri!DATE_RECU between " & CLng(Date - 540) - 1 & " and " & CLng(Date - 5400000) - 1 & _
          " Or recherprescri!DATE_RECU Is Null) "
    End If
    If Me.chkGRANDPETITCOMPTEPRESC Then
        SQL = SQL & "And recherprescri!GRANDPETITCOMPTE_PRESC = '" & Me.cmbRechGRANDPETITCOMPTEPRESC & "' "
    End If
    If Me.chkarelance Then
         SQL = SQL & "And (recherprescri!DATECOMMEN between " & CLng(Date - 30) & " and " & CLng(Date - 5400000) & _
          " Or recherprescri!DATECOMMEN Is Null) "
    End If
     
     
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    ' ligne avant modif
    'SQL = SQL & ";"
     
    ' ligne après modif
    SQL = SQL & vbCrLf & _
    "ORDER BY recherprescri.NOTE_PRESC DESC, PRESCRIPTEUR.NOM_PRESC ;"
     
    Me.lblStats.Caption = DCount("*", "recherprescri", SQLWhere) & " / " & DCount("*", "recherprescri")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
     
    End Sub
     
     
    Private Sub lstResults_DblClick(Cancel As Integer)
     
    DoCmd.OpenForm "saisie d'une fiche Prescripteur", acNormal, , "[NUM_PRESC] = " & Me.lstResults
     
     
    End Sub
     
    Private Sub txtRechNOTEPRESC_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub chkarelance_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub

  4. #4
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par popofpopof
    ...toute les case sont encore coche je ne sais pk...

    Relis ton code dans le form_Load... exécutes en pas à pas pour mieux le comprendre... tu y trouveras la réponse



    Bon courage.
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Allez , un petit indice:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select Case Left(ctl.Name, 3)
            Case "chk"
                ctl.Value = -1
    ...
    Ce code donne la valeur -1 (c'est à dire Truesous Access) aux contrôles dont le nom commence par chk.

    Il suffit donc de lui attribuer la valeur False (ou 0 si tu préfères)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select Case Left(ctl.Name, 3)
            Case "chk"
                ctl.Value = False
    ...
    C'est plus qu'un indice ça
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    merci bcp j'ai compris le principe et cela marche super bien et je vai donc pouvoir l'utilisier pour dautre fonction sur ma base.
    j'ai vu sur le forum que le moteur de recherche que j'utiliser a était repris plussieur fois au sujet des impression des résultats filtre par contre je ne comprend pas trop le principe
    http://www.developpez.net/forums/sho...che+impression

    je ne voi pas ou copier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDB.QueryDefs("qryTemp").SQL = strSQL
    dans le formulaire ou dans la requete ? et comme la requete ("qryTemp") est mise a jour tu peux me donnée des expliquation

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

Discussions similaires

  1. Calcul de la pertinence des mots dans un moteur de recherche
    Par kilian67 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 04/10/2012, 15h13
  2. [AC-2007] code vba pour bouton en relation avec case oui/non
    Par ivonick dans le forum VBA Access
    Réponses: 4
    Dernier message: 25/05/2011, 13h44
  3. deselectionner case oui non automatique
    Par Pompier70 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/08/2008, 17h10
  4. Inverser le sens des axes d'une figure
    Par judith dans le forum MATLAB
    Réponses: 1
    Dernier message: 21/05/2008, 14h35
  5. erreur case oui non dans formulaire
    Par popofpopof dans le forum Access
    Réponses: 8
    Dernier message: 16/06/2007, 14h58

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