Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 21/06/2011, 12h11   #1
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Par défaut Prob d'affichage (de syntaxe?) dans Lst

Bonjour,

je boulette quelque part ce matin et impossible de tomber dessus. Si quelqu'un peut me dire où...?

J'ai un form classique avec une Zone de Liste et des cases à cocher (type Form multicritère)

Voici ce qu'il y a sur load
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
Private Sub Form_Load()
 
For Each ctl In Me.Controls
    Select Case Left(ctl.Name, 3)
        Case "chk"
            ctl.Value = 0
 
        Case "lbl"
            ctl.Caption = "Nombre de lignes"
 
        Case "txt"
            ctl.Enabled = False
            ctl.Value = ""
 
        Case "cmb"
            ctl.Enabled = False
 
        Case "Tri"
            ctl.ForeColor = 0
 
    End Select
Next ctl
 
Me!LstResults.RowSourceType = "Table/Requête"
Me!LstResults.RowSource = "SELECT [Export_Stats].CompanyName, [Export_Stats].City, [Export_Stats].CSP, " _
& "[Export_Stats].SBU, [Export_Stats].[Enquiry source], [Export_Stats].Country, " _
& "[Export_Stats].[Prospect/Customer/Suspect], [Export_Stats].[Company (tb)_Date], [Export_Stats].SuspectRelance, " _
& "[Export_Stats].Rep, [Export_Stats].ParcMachines_Technologie, [Export_Stats].ParcMachines_Marque, " _
& "[Export_Stats].ParcMachines_Nom, [Export_Stats].ParcMachines_Date, " _
& "[Export_Stats].ParcMachines_Type, [Export_Stats].Projects_Date, [Export_Stats].Projects_Marque, " _
& "[Export_Stats].Projects_Technologie, [Export_Stats].Projects_Type, [Export_Stats].Projects_Nom, " _
& "[Export_Stats].Value, [Export_Stats].[Success Rate], [Export_Stats].DecisionDate, [Export_Stats].StatusLib, " _
& "[Export_Stats].[Project follow up_Date], [Export_Stats].ID " _
& "FROM [Export_Stats] " _
& "ORDER BY [Export_Stats].CompanyName ;"
 
 
Me!LstResults.Requery
Me.EtqSQL.Caption = SQL1
End Sub
pour ce coup là tout fonctionne pil poil.
Mais lors d'un changement sur case à cocher le RefreshQuery ne fait pas son office

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
Private Sub RefreshQuery()
'Permet l'affichage des données en fonction des critères sélectionnés
 
SQL = "SELECT [Export_Stats].CompanyName, [Export_Stats].City, [Export_Stats].CSP, " _
& "[Export_Stats].SBU, [Export_Stats].[Enquiry source], [Export_Stats].Country, " _
& "[Export_Stats].[Prospect/Customer/Suspect], [Export_Stats].[Company (tb)_Date], [Export_Stats].SuspectRelance, " _
& "[Export_Stats].Rep, [Export_Stats].ParcMachines_Technologie, [Export_Stats].ParcMachines_Marque, " _
& "[Export_Stats].ParcMachines_Nom, [Export_Stats].ParcMachines_Date, " _
& "[Export_Stats].ParcMachines_Type, [Export_Stats].Projects_Date, [Export_Stats].Projects_Marque, " _
& "[Export_Stats].Projects_Technologie, [Export_Stats].Projects_Type, [Export_Stats].Projects_Nom, " _
& "[Export_Stats].Value, [Export_Stats].[Success Rate], [Export_Stats].DecisionDate, [Export_Stats].StatusLib, " _
& "[Export_Stats].[Project follow up_Date], [Export_Stats].ID " _
& "FROM [Export_Stats] " _
& "ORDER BY [Export_Stats].CompanyName " _
& "WHERE Not IsNull([Export_Stats].ID) "
 
If Me.ChkCompanyName <> 0 Then
      If Me.TxtCompanyName <> "" Then
            SQL = SQL & "AND [Export_Stats].CompanyName LIKE '*" & Me.TxtCompanyName & "*'"
      End If
End If
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
 
SQL1 = SQL & ";"
 
Me.LblQte.Caption = "Il y a " & DCount("*", "Export_Stats", SQLWhere) & " lignes"
Me.LstResults.RowSource = SQL1
Me.LstResults.Requery
Me.EtqSQL.Caption = SQL1
 
End Sub
ce qui se passe c'est que LstResults ne retourne rien alors que LblQte me retourne bien le nombre de lignes trouvées et lorsque je lis SQL1 (debug.print) je ne vois pas d'erreur.

Si qq1 a une idée ou une remarque?

Pour SQL du RefreshQuery j'ai aussi testé le WHERE en
Code :
& "WHERE [Export_Stats].ID <> 0  "
Mais ça ne va pas mieux.

Merci de votre temps
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 15h00   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Bonjour,

Citation:
ce qui se passe c'est que LstResults ne retourne rien alors que LblQte me retourne bien le nombre de lignes trouvées et lorsque je lis SQL1 (debug.print) je ne vois pas d'erreur.

Tu ne vois pas, mais as-tu essayé de construire une requête en copiant/collant le produit du debug.print ?

Cette requête te donne le bon résultat ou bien Access proteste ?
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 15h07   #3
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Bonjour Claude,

non je n'ai pas essayé mais j'ai trouvé ma boulette ....de débutant!!!

on ne met pas de clause ORDER BY...avant la clause WHERE !!!!

Grrr désolé
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 15h14   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
J'ai déjà une très longue expérience de fautes de débutants...
En suivant ma proposition, cette faute serait restée entre toi et Access.
Nous, on n'en aurait rien su !
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 15h31   #5
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
oui effectivement la prochaine fois j’opterai pour cette solution bcp plus rapide!

Merci
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h47.


 
 
 
 
Partenaires

Hébergement Web