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

Access Discussion :

recherche multicritères sur plusieurs tables


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut recherche multicritères sur plusieurs tables
    j'ai actuellement un formulaire de recherche multicritères sur une table et je souhaiterais rajouter deux champs NOM_USUEL et PRENOM provenant de la table PE2
    Voici mon code :
    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
    Option Compare Database
     
    Private Sub chkoption_Click()
    If Me.chkoption Then
        Me.cmbRechoption.Visible = False
    Else
        Me.cmbRechoption.Visible = True
    End If
    RefreshQuery
    End Sub
     
    Private Sub chkmajeure_Click()
    If Me.chkmajeure Then
        Me.cmbRechmajeure.Visible = False
    Else
        Me.cmbRechmajeure.Visible = True
    End If
    RefreshQuery
    End Sub
    Private Sub chklangue_Click()
    If Me.chklangue Then
        Me.cmbRechlangue.Visible = False
    Else
        Me.cmbRechlangue.Visible = True
    End If
    RefreshQuery
    End Sub
     
    Private Sub chkEPS_Click()
    If Me.chkEPS Then
        Me.cmbRechEPS.Visible = False
    Else
        Me.cmbRechEPS.Visible = True
    End If
    RefreshQuery
    End Sub
     
    Private Sub cmbRechoption_BeforeUpdate(Cancel As Integer)
    RefreshQuery
    End Sub
    Private Sub cmbRechmajeure_BeforeUpdate(Cancel As Integer)
    RefreshQuery
    End Sub
    Private Sub cmbRechlangue_BeforeUpdate(Cancel As Integer)
    RefreshQuery
    End Sub
    Private Sub cmbRechEPS_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 NO_DOSSIER, OPTION, MAJEURE, LANGUE, EPS FROM OPTIONS"
    Me.lstResults.Requery
    End Sub
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
    SQL = "SELECT NO_DOSSIER, OPTION, MAJEURE, LANGUE, EPS FROM OPTIONS WHERE NO_DOSSIER <> '' "
     
    If Not Me.chkoption Then
        SQL = SQL & " And OPTIONS!OPTION = '" & Me.cmbRechoption & "' "
    End If
    If Not Me.chkmajeure Then
        SQL = SQL & " And OPTIONS!MAJEURE = '" & Me.cmbRechmajeure & "' "
    End If
    If Not Me.chklangue Then
        SQL = SQL & " And OPTIONS!LANGUE = '" & Me.cmbRechlangue & "' "
    End If
    If Not Me.chkEPS Then
        SQL = SQL & " And OPTIONS!EPS like '" & Me.cmbRechEPS & "' "
    End If
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
    SQL = SQL & ";"
    Debug.Print SQL
    Me.lblStats.Caption = DCount("*", "OPTIONS", SQLWhere) & " / " & DCount("*", "OPTIONS")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
    End Sub
     
    Private Sub lstResults_DblClick(Cancel As Integer)
    DoCmd.OpenForm "Frm saisie des options par PE1", acNormal, , "[NO_DOSSIER] = '" & Me.lstResults & "'"
    End Sub

    Si quelqu'un pouvait m'aider...

    Merci

  2. #2
    Membre habitué Avatar de guenfood
    Homme Profil pro
    Webdesigner
    Inscrit en
    Janvier 2004
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2004
    Messages : 255
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    Personnellement, j'avais déjà essayé mais je me suis pris la tête.

    D'ailleurs, il doit y avoir un ancien post qui traite du sujet avec la participation de DMBoup.

    Je t'invite à aller regarder ce tuto qui est très bien fait et que j'ai utilisé pour mes recherches.

    http://loufab.developpez.com/recursivite/

    Bon courage à toi.

Discussions similaires

  1. [MySQL] Recherche multicritères sur plusieurs tables
    Par bili31 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 07/03/2012, 21h17
  2. Recherche multicritères sur plusieurs tables
    Par bili31 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 01/02/2012, 00h30
  3. [MySQL] recherche multicritères sur plusieurs table
    Par rvm31 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/11/2007, 18h42
  4. recherche multicritères sur deux tables
    Par amélie22 dans le forum Access
    Réponses: 1
    Dernier message: 16/06/2006, 12h59
  5. Recherche multicritère sur plusieurs tables
    Par Nabouille dans le forum Access
    Réponses: 3
    Dernier message: 12/04/2006, 19h39

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