Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2011, 15h19   #1
Invité de passage
 
Remi L.
Inscription : mars 2010
Messages : 23
Détails du profil
Informations personnelles :
Nom : Remi L.

Informations forums :
Inscription : mars 2010
Messages : 23
Points : 4
Points : 4
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 :
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 !
rere02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 22h07   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
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+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 12h37   #3
Invité de passage
 
Remi L.
Inscription : mars 2010
Messages : 23
Détails du profil
Informations personnelles :
Nom : Remi L.

Informations forums :
Inscription : mars 2010
Messages : 23
Points : 4
Points : 4
Merci marot !

J'avais déjà essayé et ca n'a eu aucun résultat
rere02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 15h41   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
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+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 15h43   #5
Invité de passage
 
Remi L.
Inscription : mars 2010
Messages : 23
Détails du profil
Informations personnelles :
Nom : Remi L.

Informations forums :
Inscription : mars 2010
Messages : 23
Points : 4
Points : 4
Je n'ai pas réussi à intégré le SQL généré au code.
rere02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 19h03   #6
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
Peux-tu poster ce SQL ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h25.


 
 
 
 
Partenaires

Hébergement Web