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 14/12/2010, 18h03   #1
Invité régulier
 
Inscription : août 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 22
Points : 7
Points : 7
Par défaut Erreur d'exécution 3075 recherche multi-critère Cafeine

Bonjour

Je souhaite utiliser le formulaire de recherche multi-critère déposé par Cafeine (http://cafeine.developpez.com/access...echerchemulti/)

Toutefois, le code ne fonctionne pas. A priori, cela vient du fait que le nom de ma table comporte un "_" et fait planter le vba.

Or, je n'ai pas trouvé la bonne syntaxe pour résoudre le problème.

Quelqu'un peut-il m'aider sur ce point.

Voici le code :

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
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
 
SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> "";"
 
If Not Me.chkFamFonc Then
    SQL = SQL & "And 1_Baseclient!FamFonc like '*" & Me.cmbRechFamFonc & "*' "
End If
If Not Me.ChkSte Then
    SQL = SQL & "And 1_Baseclient!Societe = '" & Me.cmbRechSte & "' "
End If
If Not Me.chkQuaCon Then
    SQL = SQL & "And 1_Baseclient!Qualifcontact like '*" & Me.cmbREchQuaCon & "*' "
End If
If Not Me.ChkPri Then
    SQL = SQL & "And 1_Baseclient!Priorite like '*" & Me.cmbRechPri & "*' "
End If
 
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
 
SQL = SQL & ";"
 
Me.lblStats.Caption = DCount("*", "1_Baseclient", SQLWhere) & " / " & DCount("*", "1_Baseclient")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
 
End Sub
Merci d'avance
higins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 18h18   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
salut,

ce qui me tente plus est ta premiere ligne avec
Code :
SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> "";"
essaie plutot
Code :
SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> '' "
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 19h02   #3
Invité régulier
 
Inscription : août 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 22
Points : 7
Points : 7
Merci jpcheck mais cela ne fonctionne pas. J'ai toujours l'erreur 3075 avec un problème de syntaxe.

C'était toutefois une bonne idée
higins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 19h34   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Ok,
peux-tu stp nous donner la valeur de ton SQL ainsi que celle de ton SQLWhere, on va vite trouver d'ou vient l'erreur
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 19h59   #5
Invité régulier
 
Inscription : août 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 22
Points : 7
Points : 7
Pour être honnête, je suis pas sûr de comprendre ta question

L'intégralité de mon vba reprend le tuto de Cafeine soit :
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
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
Option Compare Database
 
Private Sub chkFamFonc_Click()
 
If Me.chkFamFonc Then
    Me.cmbRechFamFonc.Visible = False
Else
    Me.cmbRechFamFonc.Visible = True
End If
 
RefreshQuery
 
End Sub
 
 
Private Sub chkSte_Click()
 
If Me.ChkSte Then
    Me.cmbRechSte.Visible = False
Else
    Me.cmbRechSte.Visible = True
End If
 
RefreshQuery
 
End Sub
 
Private Sub chkQuaCon_Click()
 
If Me.chkQuaCon Then
    Me.cmbREchQuaCon.Visible = False
Else
    Me.cmbREchQuaCon.Visible = True
End If
 
RefreshQuery
 
End Sub
 
Private Sub chkPri_Click()
 
If Me.ChkPri Then
    Me.cmbRechPri.Visible = False
Else
    Me.cmbRechPri.Visible = True
End If
 
RefreshQuery
 
End Sub
 
 
Private Sub cmbRechFamFonc_BeforeUpdate(Cancel As Integer)
 
RefreshQuery
 
End Sub
 
Private Sub cmbRechSte_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
 
Private Sub cmbRechQuaCon_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
 
Private Sub cmbRechPri_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 Type, Groupe, Societe, Qualifcontact, Priorite, NomPrenom, Fonction, FamFonc FROM 1_Baseclient;"
Me.lstResults.Requery
 
End Sub
 
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
 
SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> '' "
 
If Not Me.chkFamFonc Then
    SQL = SQL & "And 1_Baseclient!FamFonc like '*" & Me.cmbRechFamFonc & "*' "
End If
If Not Me.ChkSte Then
    SQL = SQL & "And 1_Baseclient!Societe = '" & Me.cmbRechSte & "' "
End If
If Not Me.chkQuaCon Then
    SQL = SQL & "And 1_Baseclient!Qualifcontact like '*" & Me.cmbREchQuaCon & "*' "
End If
If Not Me.ChkPri Then
    SQL = SQL & "And 1_Baseclient!Priorite like '*" & Me.cmbRechPri & "*' "
End If
 
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
 
SQL = SQL & ";"
 
Me.lblStats.Caption = DCount("*", "1_Baseclient", SQLWhere) & " / " & DCount("*", "1_Baseclient")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
 
End Sub
Comme je doute que c'est ce dont tu parles, peux-tu me guider dans ta demande stp (désolé, mes notions de vba sont limitées ..
higins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 00h08   #6
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
lorsque tu fais tourner ton code, après les 2 lignes suivantes :
Code :
1
2
3
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
 
SQL = SQL & ";"
tu peux mettre ton curseur sur SQLWhere et nous dire son contenu stp ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 10h05   #7
Invité régulier
 
Inscription : août 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 22
Points : 7
Points : 7
Voilà, quand je fais tourner le code, j'ai la ligne suivante :

SQLWhere = "NomPrenom <> " And 1_baseclient!FamFonc like '*Direction informatique*' "
higins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 12h04   #8
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
ok,
et que vaut SQL ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2010, 12h45   #9
Invité régulier
 
Inscription : août 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 22
Points : 7
Points : 7
Ah oui sorry

SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> '' And 1_Baseclient!FamFonc like '*Direction informatique*' ;"
higins 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 01h56.


 
 
 
 
Partenaires

Hébergement Web