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 27/07/2011, 23h29   #1
Membre du Club
 
Homme
Chef d'entreprise
Inscription : mai 2011
Messages : 57
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef d'entreprise
Secteur : Arts - Culture

Informations forums :
Inscription : mai 2011
Messages : 57
Points : 61
Points : 61
Par défaut Curieux comportement d'un filtre

Bonsoir,

Je viens vers vous car je bute depuis le début de l'après-midi sur le filtrage d'un sous-formulaire.
Mon formulaire affiche dans le champ DateD le 1er jour de la semaine choisie. J'ai alors un premier sous-formulaire comprenant notamment 7 colonnes dont les en-têtes affiche dynamiquement les dates de chaque jour de la semaine. Les habitués auront reconnu le planning hebdomadaire disponible sur ce site.
J'ai également un second sous-formulaire, sans lien avec le formulaire principal, qui a pour but de rappeler l'ensemble des commandes passées pour un jour donné. Voici cette requête :

Code :
1
2
3
SELECT COMMANDES.IdCommande, CLIENTS.NomClient, VILLES.NomVille, THEMES.NomTheme, COSTUMES.NomCostume, COMMANDES.ArtisteNecessaire, COMMANDES.EstAssigne, COMMANDES.DateAnimation
FROM COSTUMES INNER JOIN ((((COMMANDES INNER JOIN CLIENTS ON COMMANDES.IdClient = CLIENTS.IdClient) INNER JOIN VILLES ON CLIENTS.IdVille = VILLES.IdVille) INNER JOIN THEMES ON COMMANDES.IdTheme = THEMES.IdTheme) INNER JOIN CDE_COSTUMES ON COMMANDES.IdCommande = CDE_COSTUMES.IdCommande) ON COSTUMES.IdCostume = CDE_COSTUMES.IdCostume
ORDER BY COMMANDES.EstAssigne;
Le but étant qu'en cliquant sur un jour de la semaine en en-tête du premier sous-formulaire, la liste des commandes de ce jour s'affiche dans le second. Voici le code utilisé sur chacune de ces en-têtes :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Jour7_Click()
 
    Dim DateAnim As Date
 
    DateAnim = Forms("F_Planning_Travail").Form.DateD.Value + 6
 
    Forms("F_Planning_Travail").Form.CommandesDuJour.Visible = True
    Forms("F_Planning_Travail").Form.CommandesDuJour = "Commandes du " & Format(DateAnim, "dddd dd mmmm")
    Forms("F_Planning_Travail")("SF_Liste_Commande_reduite").Form.Visible = False
    Forms("F_Planning_Travail")("SF_Liste_Commande_reduite").Form.FilterOn = False
    Forms("F_Planning_Travail")("SF_Liste_Commande_reduite").Form.Filter = "DateAnimation = #" & DateAnim & "#"
    Forms("F_Planning_Travail")("SF_Liste_Commande_reduite").Form.FilterOn = True
    Forms("F_Planning_Travail")("SF_Liste_Commande_reduite").Form.Visible = True
 
End Sub
Tout ceci fonctionne très bien... le 18 juin. Ce jour-là, les commandes enregistrées apparaissent normalement. Pour tous les autres jours, ma liste reste désespérément vide bien que des commandes soient enregistrées et je ne parviens pas à comprendre pourquoi. Si quelqu'un a une piste...
Francesco34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 09h05   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Bonjour,

C'est peut-être à cause de l'Appel.

Plus sérieusement :

Vérifie si tu ne tombe pas dans le panneau du format de date.

En VBA toutes les dates sont au format US.

Ceci explique peut-être cela.

[TROLL]
Quelle chance ne pouvoir travailler qu'un jour par an.
[/TROLL]

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 16h48   #3
Membre du Club
 
Homme
Chef d'entreprise
Inscription : mai 2011
Messages : 57
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef d'entreprise
Secteur : Arts - Culture

Informations forums :
Inscription : mai 2011
Messages : 57
Points : 61
Points : 61
Merci de ta réponse et de ton humour, ça fait du bien entre deux arrachage de touffes de cheveux...

J'avais bien vérifié les dates et elles étaient au format US. Qui plus est, sauf erreur de ma part, le filtre aurait plutôt fonctionné pour le 6 juin que pour le 18, je me trompe ?

En faisant différents essais, j'ai pu constater que ce formulaire se figeait dès que je faisais appel au à mes fonctions JOURX_Click(). Du coup, j'ai effacer ce formulaire et la requête liée et j'ai tout recommencer... et ça marche

Une fois de plus, la magie du Microsoft qui tombe en marche.
Francesco34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 07h12   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Ce problème arrive très rarement, heureusement. Surtout lorsqu'on tatone.

Dans ce cas on peut tenter une décompilation, en prenant de grande précaution cependant. A savoir : Toujours sauvegarder la base avant une décompilation.

Tu as un article sur mon blog concernant la décompil.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab 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 15h30.


 
 
 
 
Partenaires

Hébergement Web