OVH Cloud OVH Cloud

Trie sur un champ date

8 réponses
Avatar
Marcel
Bonjour

Je repose ma question sur un autre fil car la première est restée sans
succès

Comment faire avec un groupe d'option une sélection pour avoir
sur un champ de type date/heure

Cas 1: les champs rempli uniquement
Cas 2: tous les enregistrements même vide

Merci pour vos réponses :)

Marcel

8 réponses

Avatar
3stone
Salut,

"Marcel" a écrit:
Je repose ma question sur un autre fil car la première est restée sans
succès


Sûrement à cause d'un manque de clarté...


Comment faire avec un groupe d'option une sélection pour avoir
sur un champ de type date/heure

Cas 1: les champs rempli uniquement
Cas 2: tous les enregistrements même vide



Un groupe d'option renvoi une valeur numérique...

le reste n'est pas clair ;-(

Tu veux filtrer les enregistrements de ton formulaire ?
- afficher uniquement ceux qui ont une date dans un certain champ
- afficher tous les enregistrements...

c'est cela ?


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------

Avatar
Marcel
Salut

Oui c'est j'ai un form qui affiche en continu et un des contrôles contient
des enregistrements de type date.
Ce que j'aimerais c'est en cliquant sur le groupe d'option ( 2 cases)
Case 1
afficher tous les enregistrements qui ont une date rempli
Case 2
tous les enregistrements même ceux dont le champ date est vide


Le groupe je l'emploierai pour remplir un contrôle indépendant (Control1)
et ce control serais mis comme critère dans une requête.

J'arrive pour d'autres contrôles qui ne sont pas des champs de type
date, mais ceux de type date je bute j'ai toujours des problèmes de
syntaxe. Si je rempli le contrôle avec une * je n'ai que les champs pas
vide.
Donc pour le case 1 c'est ok, mais que mettre pour avoir tout. Si le
control1
est vide ça ne fonctionne pas

Merci

Marcel



"3stone" a écrit dans le message de news:

Salut,

"Marcel" a écrit:
Je repose ma question sur un autre fil car la première est restée sans
succès


Sûrement à cause d'un manque de clarté...


Comment faire avec un groupe d'option une sélection pour avoir
sur un champ de type date/heure

Cas 1: les champs rempli uniquement
Cas 2: tous les enregistrements même vide



Un groupe d'option renvoi une valeur numérique...

le reste n'est pas clair ;-(

Tu veux filtrer les enregistrements de ton formulaire ?
- afficher uniquement ceux qui ont une date dans un certain champ
- afficher tous les enregistrements...

c'est cela ?


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------







Avatar
3stone
Salut,

"Marcel" a écrit:
| Oui c'est j'ai un form qui affiche en continu et un des contrôles contient
| des enregistrements de type date.
| Ce que j'aimerais c'est en cliquant sur le groupe d'option ( 2 cases)
| Case 1
| afficher tous les enregistrements qui ont une date rempli
| Case 2
| tous les enregistrements même ceux dont le champ date est vide


Ok...



| Le groupe je l'emploierai pour remplir un contrôle indépendant (Control1)
| et ce control serais mis comme critère dans une requête.


Comme tu vas de toute facon ammener tous les enregistrements dans le formulaire,
autant utilise un filtre sur le formulaire.

Crée ton groupes d'options, nomme le opt_Filtre (par exemple)
avec les valeurs retournées par défaut...
"Avec date" = valeur 1 pour la première ligne
et "Sans date" = valeur 2 pour la seconde ligne.

Sélectionne le cadre et demande les propriétés, et, dans l'événement
"Après mise à jour", tu mets entre les deux lignes...


Private Sub opt_Filtre_AfterUpdate()

If Me.opt_Filtre = 1 Then
Me.Filter = "[LaDate] is not null"
Else
Me.Filter = ""
End If

Me.FilterOn = True

End Sub


Ok ?


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------
Avatar
Marcel
Salut
OK tip top
Un autre problème maintenant j'ai une requête avec fonction de regroupement
sur laquelle j'utilise la fonction Dcount pour 6 champs pour calculer le
nombre d'enregistrement. Comment faire pour récupérer le filtre et faire un
nouveau comptage.


Merci pour ta réponse

Marcel

"3stone" a écrit dans le message de news:

Salut,

"Marcel" a écrit:
| Oui c'est j'ai un form qui affiche en continu et un des contrôles
contient

| des enregistrements de type date.
| Ce que j'aimerais c'est en cliquant sur le groupe d'option ( 2 cases)
| Case 1
| afficher tous les enregistrements qui ont une date rempli
| Case 2
| tous les enregistrements même ceux dont le champ date est vide


Ok...



| Le groupe je l'emploierai pour remplir un contrôle indépendant
(Control1)

| et ce control serais mis comme critère dans une requête.


Comme tu vas de toute facon ammener tous les enregistrements dans le
formulaire,

autant utilise un filtre sur le formulaire.

Crée ton groupes d'options, nomme le opt_Filtre (par exemple)
avec les valeurs retournées par défaut...
"Avec date" = valeur 1 pour la première ligne
et "Sans date" = valeur 2 pour la seconde ligne.

Sélectionne le cadre et demande les propriétés, et, dans l'événement
"Après mise à jour", tu mets entre les deux lignes...


Private Sub opt_Filtre_AfterUpdate()

If Me.opt_Filtre = 1 Then
Me.Filter = "[LaDate] is not null"
Else
Me.Filter = ""
End If

Me.FilterOn = True

End Sub


Ok ?


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------





Avatar
3stone
Salut,

"Marcel" a écrit:
| Un autre problème maintenant


Il vaut mieux ne pas "enfiler" les questions...
Une question par fil, et à chaque fil sa question ;-)


| j'ai une requête avec fonction de regroupement
| sur laquelle j'utilise la fonction Dcount pour 6 champs pour calculer le
| nombre d'enregistrement.

Attention pour la vitesse...
un DCount dans la requête cela ralenti, mais 6 DCount...

ne peux tu pas faire un regroupement avec un "Count" sur le champ ?

| Comment faire pour récupérer le filtre et faire un nouveau comptage.

Heu... récuperer le filtre ? du formulaire ? et faire quel comptage ?

Décrit plus largement la finalité... peut être qu'une autre méthode
est plus appropriée...


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------
Avatar
Marcel
Ok Pierre je le ferai pour les prochaines

je continue ici pour cette fois
En fait j'ai des tables ODBC liées. Et pour un enregistrement j'ai plusieurs
lignes avec 1 ligne par date. Je ne peu pas intervenir sur ces tables.Ce que
j'ai fait c'est des req. pour chaque date que j'ai besoin ( req1 à 6 ) et
que je met en ligne avec une autre req7. C'est vrai le temps de calcul est
peu long environ 1 min mais c'est pas trop génant.
L'application du comptage ne ce fait que par le clic sur bouton (pour les
personnes intéressées par ces chiffres) pour eviter des temps plus long avec
le filtrage.

J'aimerais avec ton filtre l'appliquer à la requête7. Est-ce possible

Merci

Marcel

"3stone" a écrit dans le message de
news:eXII7%
Salut,

"Marcel" a écrit:
| Un autre problème maintenant


Il vaut mieux ne pas "enfiler" les questions...
Une question par fil, et à chaque fil sa question ;-)


| j'ai une requête avec fonction de regroupement
| sur laquelle j'utilise la fonction Dcount pour 6 champs pour calculer le
| nombre d'enregistrement.

Attention pour la vitesse...
un DCount dans la requête cela ralenti, mais 6 DCount...

ne peux tu pas faire un regroupement avec un "Count" sur le champ ?

| Comment faire pour récupérer le filtre et faire un nouveau comptage.

Heu... récuperer le filtre ? du formulaire ? et faire quel comptage ?

Décrit plus largement la finalité... peut être qu'une autre méthode
est plus appropriée...


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------







Avatar
3stone
Salut,

"Marcel" a écrit:
| En fait j'ai des tables ODBC liées. Et pour un enregistrement j'ai plusieurs
| lignes avec 1 ligne par date. Je ne peu pas intervenir sur ces tables.Ce que
| j'ai fait c'est des req. pour chaque date que j'ai besoin ( req1 à 6 ) et
| que je met en ligne avec une autre req7. C'est vrai le temps de calcul est
| peu long environ 1 min mais c'est pas trop génant.
| L'application du comptage ne ce fait que par le clic sur bouton (pour les
| personnes intéressées par ces chiffres) pour eviter des temps plus long avec
| le filtrage.
|
| J'aimerais avec ton filtre l'appliquer à la requête7. Est-ce possible


Ben... ma première impression est que ce serait typiquement le cas
pour créer une requête de facon dynamique...

strSQL = "Select....." mais soit...

Tu ne dit pas d'où viennent les 6 dates que tu utilise dans tes 6 requêtes...
ensuite, il y a peut être lieu de faire *une* requête UNION...

a suivre...


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------
Avatar
Marcel
Salut

En fait mes 6 requêtes proviennent de la même table ceci pour mettre en
ligne (Table1)

Req1 (Table1)
Cell_ID Projet_ID (46) Date (Critère dans la requête)
Req1 (Table1)
Cell_ID Projet_ID (51) Date
Req1 (Table1)
Cell_ID Projet_ID (52) Date
Req1 (Table1)
Cell_ID Projet_ID (55) Date
Req1 (Table1)
Cell_ID Projet_ID (58) Date
Req1 (Table1)
Cell_ID Projet_ID (61) Date

La table se présente comme suit (Table ODBC sur un serveur)

Cell_ID Projet_ID Date

Par Cell_ID il peut y avoir env 70 Projet_ID. Ce que j'ai besoin c'est 6
Projet_ID avec les dates que je mets en ligne pour afficher en continu dans
un formulaire ou sur un état, car le Cell_ID est lié après avec Stat_ID
(Pour un Stat_ID je peux avoir jusqu'à 5 Cell_ID.

Voici ce que je veux sur le form comme affichage

Stat_ID (Regroupement sur ce control)
Cell_ID Projet_ID Date(1) Date(2) Date(3) Date(4)
Date(5) Date(6)
Cell_ID Projet_ID Date(1) Date(2) Date(3) Date(4)
Date(5) Date(6)
Cell_ID Projet_ID Date(1) Date(2) Date(3) Date(4)
Date(5) Date(6)
Stat_ID
Cell_ID Projet_ID Date(1) Date(2) Date(3) Date(4)
Date(5) Date(6)
Cell_ID Projet_ID Date(1) Date(2) Date(3) Date(4)
Date(5) Date(6)
Cell_ID Projet_ID Date(1) Date(2) Date(3) Date(4)
Date(5) Date(6)
Etc...

J'espère avoir été un peu plus clair

A+
Marcel


"3stone" a écrit dans le message de news:

Salut,

"Marcel" a écrit:
| En fait j'ai des tables ODBC liées. Et pour un enregistrement j'ai
plusieurs

| lignes avec 1 ligne par date. Je ne peu pas intervenir sur ces tables.Ce
que

| j'ai fait c'est des req. pour chaque date que j'ai besoin ( req1 à 6 )
et

| que je met en ligne avec une autre req7. C'est vrai le temps de calcul
est

| peu long environ 1 min mais c'est pas trop génant.
| L'application du comptage ne ce fait que par le clic sur bouton (pour
les

| personnes intéressées par ces chiffres) pour eviter des temps plus long
avec

| le filtrage.
|
| J'aimerais avec ton filtre l'appliquer à la requête7. Est-ce possible


Ben... ma première impression est que ce serait typiquement le cas
pour créer une requête de facon dynamique...

strSQL = "Select....." mais soit...

Tu ne dit pas d'où viennent les 6 dates que tu utilise dans tes 6
requêtes...

ensuite, il y a peut être lieu de faire *une* requête UNION...

a suivre...


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------