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 de recherche dynamique et VBA


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 21
    Points
    21
    Par défaut Problème de recherche dynamique et VBA
    Bonjour,

    j'ai repris un formulaire de recherche dynamique contenant des zones de texte ou des menus déroulants (en gros c'est le WHERE), et une zone de réponse (le résultat de la requête).

    voici la base dont je me suis "beaucoup" inspiré http://cafeine.developpez.com/access...echerchemulti/

    Or mon code vb ne marche qu'a moitié, en effet lorsqu'une zone de recherche interroge une autre table que PROJET, la requête ne fonctionne plus du tout. J'ai le message d'erreur :Erreur d'exécution 2001

    J'utilise les tables : Archive, Clients, Projet, TypeBande

    Voici la partie du code qui pose problème :

    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
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQL = "SELECT Clients.Raison_soc, Projet.Projet, Projet.Année, TypeBande.TypeBande, Archive.NoBande, Archive.Date_archivage FROM TypeBande INNER JOIN (Archive INNER JOIN (Clients INNER JOIN Projet ON Clients.Ref_clt = Projet.Client) ON Archive.N° = Projet.N°_archive) ON TypeBande.N° = Archive.Typebande Where Projet!Client <> 0"
     
    If Not Me.chkTitre Then
        SQL = SQL & "And Projet!Projet like '*" & Me.txtRechTitre & "*' "
    End If
     
    If Not Me.chkSoc Then
        SQL = SQL & "And Projet!Client like '*" & Me.txtRechSoc & "*' "
    End If
     
    If Not Me.chkYear Then
        SQL = SQL & "And Projet!Année like '*" & Me.txtRechYear & "*' "
    End If
     
    If Not Me.chkTypeBande Then
        SQL = SQL & "And TypeBande!TypeBande like '*" & Me.txtRechTypeBande & "*' "
    End If
     
    If Not Me.chkNoBande Then
        SQL = SQL & "And Archive!NoBande like '*" & Me.txtRechNoBande & "*' "
    End If
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
     
    Me.lblStats.Caption = DCount("*", "Projet", SQLWhere) & " / " & DCount("*", "Projet")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
     
    End Sub
    Et donc ça coince pour TypeBande!TypeBande et Archive!NoBande

    Je vois pas du tout ce que je dois ajouter comme code, si quelqu'un a une idée ça serait sympa de m'aider !

    Merci !

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Essaye de battir une requête qui fonctionne dans l'éditeur de requête (en mettant tes valeurs cherchées en dur) puis bascule en affichage SQL tu vas voir la syntaxe que Access attend.

    Je soupsconne qu'il y a une incompatibilité de type lors du Like mais je ne vois pas où.

    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Merci marot !

    J'avais déjà essayé et ca n'a eu aucun résultat

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Tu n'as pas pu créer une requête avce l'éditeur de requêtes qui te donne le résultat que tu cherches ?

    Ou tu n'as pas réussi à intégrer le SQL généré à ton code ?

    A+

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Je n'ai pas réussi à intégré le SQL généré au code.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Peux-tu poster ce SQL ?

    A+

Discussions similaires

  1. Problème de création multiple de tableaux croisés dynamiques en VBA
    Par Dark Christou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/04/2010, 15h58
  2. [XL-2003] Problème fonction recherche / remplacer sous VBA
    Par DVano dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 01/04/2010, 12h13
  3. VBA Word - Problème d'objet dynamique (TextBox)
    Par nico6262 dans le forum VBA Word
    Réponses: 7
    Dernier message: 21/10/2008, 12h38
  4. Réponses: 3
    Dernier message: 02/09/2008, 11h48
  5. Réponses: 6
    Dernier message: 24/01/2007, 10h29

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