Si tu n'essaye pas de debuguer et de connaitre la valeur de la variable SQL autant abandonné tout de suiteEnvoyé par moi
Si tu n'essaye pas de debuguer et de connaitre la valeur de la variable SQL autant abandonné tout de suiteEnvoyé par moi
en effet
j'ai encore un code erreur 3075
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If Me.chkDC Then SQL = SQL & "And Patients![DC] " & ";" End If SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
Normal le And est incomplétEnvoyé par PAUL87
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 If Me.chkDC Then SQL = SQL & "And Patients![DC]=me.chkDC ";" End If
Merci de votre aide parceque je nage
erreur de compilation : erreur de syntaxe dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL = SQL & "And Patients![DC]=me.chkDC ";"
Et l'opérateur de concaténation ?
d'accord mets ça:
Attention ici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL = SQL & "And Patients![DC]=True;"
tu enleves la derniere ligne;donc comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) SQL = SQL & SQLOrder & ";"
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
comme ça c'est mieux??
Code : Sélectionner tout - Visualiser dans une fenêtre à part SQL = SQL & "And Patients![DC]= '" & Me.chkDC & ";"
oups nos réponses se sont croisees visiblement la mienne n'était pas bonne.
oui bien sur
Alors là j'ai une erreur dans
Private Sub RefreshQuery()
j'en suis la:
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
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
126
127
128
129
130
131
132
133 Private Sub chkDC_Click() RefreshQuery End Sub Private Sub chkNomEtude_Click() If Me.chkNomEtude Then Me.cmbRechNomEtude.Visible = False Else Me.cmbRechNomEtude.Visible = True End If RefreshQuery End Sub Private Sub chkNomInvestigateur_Click() If Me.chkNomInvestigateur Then Me.cmbRechNomInvestigateur.Visible = False Else Me.cmbRechNomInvestigateur.Visible = True End If RefreshQuery End Sub Private Sub chkTYPEDEPATHOLOGIE_Click() If Me.chkTYPEDEPATHOLOGIE Then Me.cmbRechTYPEDEPATHOLOGIE.Visible = False Else Me.cmbRechTYPEDEPATHOLOGIE.Visible = True End If RefreshQuery End Sub Private Sub cmbRechNomEtude_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub Private Sub cmbRechNomInvestigateur_BeforeUpdate(Cancel As Integer) RefreshQuery End Sub Private Sub cmbRechTYPEDEPATHOLOGIE_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 Reclin, NOM,PRENOM, NOMETUDE, NOMINVESTIGATEUR, TYPEDEPATHOLOGIE, DC FROM Patients;" Me.lstResults.Requery End Sub Private Sub RefreshQuery() Dim SQL As String Dim SQLWhere As String SQL = "SELECT Reclin, NOM, PRENOM, NOMETUDE, NOMINVESTIGATEUR, TYPEDEPATHOLOGIE, DC FROM Patients Where Patients!Reclin <> 0 " If Not Me.chkNomEtude Then If Len(chkNomEtude) > 0 Then SQL = SQL & "And Patients!NomEtude = '" & Me.cmbRechNomEtude & "' " End If End If If Not Me.chkNomInvestigateur Then If Len(chkNomInvestigateur) > 0 Then SQL = SQL & "And Patients!NomInvestigateur = '" & Me.cmbRechNomInvestigateur & "' " End If End If If Not Me.chkTYPEDEPATHOLOGIE Then If Len(chkTYPEDEPATHOLOGIE) > 0 Then SQL = SQL & "And Patients!TYPEDEPATHOLOGIE = '" & Me.cmbRechTYPEDEPATHOLOGIE & "' " End If End If If Me.chkDC Then SQL = SQL & "And Patients![DC]=True;" End If SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) Me.lblStats.Caption = DCount("*", "Patients", SQLWhere) & " / " & DCount("*", "Patients") Me.lstResults.RowSource = SQL Me.lstResults.Requery Dim Nbtotal, Resul As Integer Nbtotal = DCount("*", "Patients") Resul = DCount("*", "Patients", SQLWhere) Me.Texte50 = (Resul / Nbtotal) * 100 End Sub
maintenant
erreur de compilation,
membre de methode ou de donnees introuvables
avec en surligné
"if Me.chkDC Then"
Es tu sur du nom de la case à coché ?
J'ai plutot l'impression que tu nous balances ton code sans essayer de faire trop d'effort ... C'est pas vraiment la politique de la maison
Beh, PAUL,sans vraiment vouloir te vexer, mais la remarque faite par Tofalu me semble appropriée;parce que cette erreur aurait du etre apparaitre depuis longtemps.
essai ça pour voir:
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part If Me!chkDC.value=true Then
Je ne suis pas totalement d'accord avec votre sévérité a mon egard....
je suis d'un naturel tenace
je trouve cette recherche multi-critère particulièrement ardue (pour mon niveau) et dois vous avouer que je suis plus qu'en difficulté avec.
Si je "balance mon code" c'est parce qu'entre chaque post, j'essaye d'y faire des modifs..
N'étant pas un ancien du Forum, je n'en connais pas moins la politique..
Merci du rappel à l'ordre
il me reste néanmois un message d'erreur pour lequel j'ai besoin d'aide..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Me.lblStats.Caption = DCount("*", "Patients", SQLWhere) & " / " & DCount("*", "Patients")
Quel est le message d'erreur ?
En attendant ton message d'erreur, isole cette partie:
en mettant des appostrophes devant chaque ligne et essaie d'executer si tout se passe bien sans bien entendu les stat que tu attends.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.lblStats.Caption = DCount("*", "Patients", SQLWhere) & " / " & DCount("*", "Patients")
@+
j'ai un message " erreur d'exécution 3075"
erreur de syntaxe dans l'expression 'patients!reclin<>0and patient!nominvestigateurs=" and patients![DC]=true;'
ok Paul, fais ça:
le code actuellement:
mets un espace avant le "And", comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If Me.chkDC Then SQL = SQL & "And Patients![DC]=True;" End If
Juste avant le "And"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If Me.chkDC Then SQL = SQL & " And Patients![DC]=True;" End If
@+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager