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 Multi-criteres dans un formulaire


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 36
    Points : 20
    Points
    20
    Par défaut Recherche Multi-criteres dans un formulaire
    Salut a tous,
    J'ai cree un formulaire Lieferant qui fonctionne sans probleme.Mais je suis confronte au niveau de la recherche multi-critere.Je me suis base sur la FAQ avec l'exemple de Cafeine.Mais malheureusement,cela m'affiche toujours des erreurs. Stp je voudrais aussi que vous me dites ou se trouve mon Erreur.
    Car je ne peux pas rechercher par exemple M*(tous les noms commencant par m).Ou alors de la Periode (date de ... a ...).Cela m'affiche toujours Erreurs.

    Voici mon Kode:
    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
    Private Sub RefreschQuery()
    Dim Krit As String
    Krit = ""
    Dim SQL As String
    Dim SQLWhere As String
    SQL = "SELECT * FROM Recherche " 'where Recherche.ID <> 0"
    If Not Me.KHT Then
    SQL = SQL & "And ID = '" & Me.KombHT & " ' "
    End If
    If Not (Me.KProjet) Then
    SQL = SQL & " And nomprojet LIKE '*" & Me.TxtProjet & "*'"
    End If
    If Not IsNull(Me.Kfirme) Then
    SQL = SQL & " And nomfirme like '*" & Me.TxtFirme & "*'"
    End If
     
    If Not IsNull(Me.KDate) Then Krit = Krit & " AND Date >=" & Format(Me.TxtDatede, "tt-mm-jjjj") & ""
    'End If
    If Not IsNull(Me.KDate) Then Krit = Krit & " And Date <= " & Format(Me.TxtDatede, "tt-mm-jjjj") & ""
    'End If
    If Krit <> "" Then SQL = SQL & "WHERE " & Mid(Krit, 5)
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
    SQL = SQL & ";"
    Me.lststats.Caption = DCount("*", "Recherche", SQLWhere) & " / " & DCount("*", "Recherche", SQLWhere)
    'Me.lststats.Caption = DCount("*", "Recherche", SQLWhere) & " / " & DCount("*", "Recherche")
    Me.Lstrecherche.RowSource = SQL
    Me.LstRecherche.Requery
    CORDIALEMENT

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Tu as un message d'erreur ? Si oui sur quelle ligne s'arrete l'execution ?
    J'aime les gâteaux.

  3. #3
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Pour les dates tu dois les entourer de #.

    exemple:Pour les recherches commencant par M il faut mettre * qu'a la fin

    exemple

  4. #4
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    de plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "SELECT * FROM Recherche " 'where Recherche.ID <> 0"
    que vient faire les quotes avant le where ?

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Salut,voici l'erreur que cela affiche:
    ERREUR DE SYNTAX DANS LA REQUETE 'Recherche.ID<>0 AND nomfirme LIKE '* M** Where Date >= AND Date<=.'
    Quant a L'erreur de Kode que vous aviez mentionné.je l'ai rectifie depuis. voici ma rectification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim SQL As String
     
    SQL = "SELECT * FROM Recherche where Recherche.ID <> 0"

  6. #6
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re,

    Tu n'as toujours pas mis les # pour les dates et tu as des * en trop...

  7. #7
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Tu semble avoir des erreurs sur plusieurs instructions donc la meilleure solution est de faire du pas a pas en reprennant depuis le debut du code.
    Des que tu modifie la chaine SQL tu mets un Debug.Print apres pour voir si le resultat attendu s'affiche.

    Tu peux commencer avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim SQLWhere As String
    SQL = "SELECT * FROM Recherche " 'where Recherche.ID <> 0"
    Debug.Print SQL
    Si l'erreur n'est pas apparante tu peux creer une nouvelle requete, y coller le code et l'executer. Access te dira ce qui ne va pas.
    J'aime les gâteaux.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/03/2010, 11h56
  2. Réponses: 0
    Dernier message: 29/01/2010, 09h11
  3. recherche multi-critères dans un formulaire de recherche
    Par sam1975 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/08/2009, 18h12
  4. [Formulaire]Recherche Multi Critere
    Par sumtech dans le forum IHM
    Réponses: 5
    Dernier message: 18/04/2007, 16h40
  5. [formulaire] recherche multi criteres
    Par Treuze dans le forum IHM
    Réponses: 3
    Dernier message: 10/01/2006, 10h36

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