Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
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 24/08/2011, 15h53   #1
Invité de passage
 
Inscription : mars 2010
Messages : 7
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mars 2010
Messages : 7
Points : 1
Points : 1
Par défaut comptage incrémental conditionnel

Bonjour,

J'essaye de rendre service à un collègue mais je n'arrive pas à me dépatouiller:

Il utilise une table pour gérer son courrier avec:
Indicatif : texte (3 caractères)
Incrément: numéroAuto
estValide (oui/non)

Le but est de mettre en entête de courrier un numéro du style ABC/15 où 15 serait quelque chose comme l'incrément.

Le problème est qu'il ne faut pas compter les courriers où estValide vaut non, et qu'il ne faut pas laisser de valeur vide entre les courriers (le clients n'aime pas recevoir un courrier n°15 après le n°12, il se demande où sont passés les n°13 et 14, que l'on n'enverra pas).

J'ai bien compris que le ABC/15 est un champs calculé, mais je ne sais ni où ni quand ni comment le remplir.
ji_louis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 16h16   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Ji_louis,

Pas bien compris...

Ton collègue utilise cette table uniquement pour savoir quel est le prochain n° à prendre ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 16h29   #3
Invité de passage
 
Inscription : mars 2010
Messages : 7
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mars 2010
Messages : 7
Points : 1
Points : 1
Non, il y a bien d'autres informations, mais le numéro à prendre est un problème:
Il y a un numéro de dossier interne (champs "incrément") et un numéro de courrier.
Ce numéro de courrier est une concaténation entre le symbole du client (ABC), un séparateur (/) et un numéro à prendre.

A un moment donné, un dossier peut être clôturé, et on envoie un courrier au client. Ce numéro correspond à n+1 courriers déjà envoyés au client.
ji_louis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 16h37   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Citation:
.../... il y a bien d'autres informations .../...
==> j'entends bien qu'il y a d'autres informations dans cette table.

Ma question porte sur l'utilisation de cette table : sert-elle, uniquement, pour repérer quel est le n° à prendre dans le prochain courrier pour le même symbole client, sans compter les courriers non valides ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 16h55   #5
Invité de passage
 
Inscription : mars 2010
Messages : 7
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mars 2010
Messages : 7
Points : 1
Points : 1
Non, elle sert aussi à renseigner l'état d'avancement du dossier. Quand la date de clôture est renseignée, le courrier doit être envoyé (sinon elle est laissée vide).
ji_louis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 17h14   #6
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Prenons l'histoire par un autre bout...

Crées une requête (via l'assistant) qui analyse ta table (FROM), en choisissant le champ "Indicatif", qui est le symbole client, si j'ai bien compris (SELECT) avec dans la colonne "Critères" : [Symbole client :]. Ne sélectionne que "estValide"=oui (WHERE).

Lors de l'exécution, une fenêtre te demandera "Symbole client :" (ce que tu as mis entre crochets). Le n° à prendre pour le prochain courrier du symbole client saisi est le nombre d'enregistrements trouvés + 1.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 17h47   #7
Invité de passage
 
Inscription : mars 2010
Messages : 7
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mars 2010
Messages : 7
Points : 1
Points : 1
Code sql :
1
2
3
SELECT (count([Indicatif]) + 1) 
FROM matable 
WHERE estValide = true

Je crois qu'il sera satisfait d'avoir un bon moyen d'avoir le bon numéro de courrier, même s'il avait espéré un automatisme pour dans un formulaire ou je ne sais pas quoi.

Merci pour l'aide

Pour ma part, je lui airait plutôt fait un truc plus sérieux en php/mysql ou Oracle/java, mais ce n'est pas possible en 3h.
ji_louis 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 08h24.


 
 
 
 
Partenaires

Hébergement Web