OVH Cloud OVH Cloud

Incrementation suivant index

5 réponses
Avatar
Arpat
Bonjour,
j'ai une table des postes dans une entreprise, un poste est composé d'un
CodeSociete, un CodeSite,Un CodeMetier et enfin un compteur qui s'incremente
uniquement si les 3 premiers code sont identique (la clef primaire est sur
ses 4 champs) exemple
Societe Site Metier Compteur
ASP TX SEC 0
ASP TX SEC 1
ASP VB DIR 0
DGS TX DIR 0

Je souhaiterai quand 'jetant' (requete d'insert) les 3 premiers code (ASP,
TX, SEC) il m'incremente automatiquement 2 pour le compteur et si la
combinaison n'existe pas (DGS, VB, SEC) il met 0

Je crois être un peu gourmand !!!

Merci d'avance

5 réponses

Avatar
3stone
Salut,

"Arpat"
| j'ai une table des postes dans une entreprise, un poste est composé d'un
| CodeSociete, un CodeSite,Un CodeMetier et enfin un compteur qui s'incremente
| uniquement si les 3 premiers code sont identique (la clef primaire est sur
| ses 4 champs) exemple
| Societe Site Metier Compteur
| ASP TX SEC 0
| ASP TX SEC 1
| ASP VB DIR 0
| DGS TX DIR 0
|
| Je souhaiterai quand 'jetant' (requete d'insert) les 3 premiers code (ASP,
| TX, SEC) il m'incremente automatiquement 2 pour le compteur et si la
| combinaison n'existe pas (DGS, VB, SEC) il met 0


Dans le formulaire...

Compteur = DCount("*","TableDesPostes","[ASP] & [Site] & [Metier]='" & Me![ASP] & Me![Site] & Me![Metier] & "'")


;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Eric
Bonsoir Pierre,

Alors là *CHAPEAU* car après avoir lu et relu la question, je n'avais
toujours pas compris. Avec ta réponse, c'est devenu BIEN CLAIR !

;-)
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Salut,

"Arpat"
| j'ai une table des postes dans une entreprise, un poste est composé d'un
| CodeSociete, un CodeSite,Un CodeMetier et enfin un compteur qui s'incremente
| uniquement si les 3 premiers code sont identique (la clef primaire est sur
| ses 4 champs) exemple
| Societe Site Metier Compteur
| ASP TX SEC 0
| ASP TX SEC 1
| ASP VB DIR 0
| DGS TX DIR 0
|
| Je souhaiterai quand 'jetant' (requete d'insert) les 3 premiers code (ASP,
| TX, SEC) il m'incremente automatiquement 2 pour le compteur et si la
| combinaison n'existe pas (DGS, VB, SEC) il met 0


Dans le formulaire...

Compteur = DCount("*","TableDesPostes","[ASP] & [Site] & [Metier]='" & Me![ASP] & Me![Site] & Me![Metier] & "'")


;-)




Avatar
3stone
Salut Eric,

"Eric"
| Alors là *CHAPEAU* car après avoir lu et relu la question, je n'avais
| toujours pas compris. Avec ta réponse, c'est devenu BIEN CLAIR !


Comme dirait Pierre cfi, c'est répondre à la question qui n'est pas encore posée...

;o)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Arpat
La logique est bonne, le probleme est que ca se passe dans une page d'acces
au donnée suite à un click sur un bouton, ou suis un traitement dont la
creation du poste via une requete d'insert INSERT (Societe,Site,Metier,
Compteur) ...

v'la la requete simplifie (car en plus y'a d'autre parametre mais le Pb
n'est pas la ...) qui ne marche pas dommage ...

INSERT INTO DPEmploiPoste ( CodeSociete, CodeSite, CodeMetier,
CompteurPoste )
SELECT "ASDIRCOM", "RHGD", "COM", "SIE", (SELECT Last([CompteurPoste]+1) AS
NumPoste FROM DPEmploiPoste GROUP BY DPEmploiPoste.CodeSociete,
DPEmploiPoste.CodeSite, DPEmploiPoste.CodeMetier HAVING
(((DPEmploiPoste.CodeSociete)="RHGD") AND
((DPEmploiPoste.CodeSite)="RH69LYO") AND
((DPEmploiPoste.CodeMetier)="COM"))) ;

Merci pour l'aide

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

"Arpat"
| j'ai une table des postes dans une entreprise, un poste est composé d'un
| CodeSociete, un CodeSite,Un CodeMetier et enfin un compteur qui
s'incremente
| uniquement si les 3 premiers code sont identique (la clef primaire est sur
| ses 4 champs) exemple
| Societe Site Metier Compteur
| ASP TX SEC 0
| ASP TX SEC 1
| ASP VB DIR 0
| DGS TX DIR 0
|
| Je souhaiterai quand 'jetant' (requete d'insert) les 3 premiers code (ASP,
| TX, SEC) il m'incremente automatiquement 2 pour le compteur et si la
| combinaison n'existe pas (DGS, VB, SEC) il met 0


Dans le formulaire...

Compteur = DCount("*","TableDesPostes","[ASP] & [Site] & [Metier]='" &
Me![ASP] & Me![Site] & Me![Metier] & "'")


;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
3stone
Salut,

"Arpat"
|
| INSERT INTO DPEmploiPoste ( CodeSociete, CodeSite, CodeMetier,
| CompteurPoste )
| SELECT "ASDIRCOM", "RHGD", "COM", "SIE", (SELECT Last([CompteurPoste]+1) AS
| NumPoste FROM DPEmploiPoste GROUP BY DPEmploiPoste.CodeSociete,
| DPEmploiPoste.CodeSite, DPEmploiPoste.CodeMetier HAVING
| (((DPEmploiPoste.CodeSociete)="RHGD") AND
| ((DPEmploiPoste.CodeSite)="RH69LYO") AND
| ((DPEmploiPoste.CodeMetier)="COM"))) ;



Et si tu remplace ton (select last (compteurposte +1) as ... from ... group by ...)

par mon DCount( )

?


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw