Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Numéros incrémentaux

6 réponses
Avatar
chris
Bonjour,
Je cherche sur access un moyen d'avoir une clé primaire qui s'incrémente
toute seule du style :
95001A devient 95002, puis 95003 etc mais qu'on puisse la modifier pour
devenir 95003A.
Merci pour votre aide.

6 réponses

Avatar
Gloops
Bonjour,

D'après ce que je comprends, le NuméroAuto ne convient pas ?
Que représente ce A ?

L'idée qui me vient à l'esprit est d'avoir une table (la table de
paramètres peut faire l'affaire si il n'y a pas de risque de fausse
manœuvre) avec un champ contenant le prochain numéro. Le code e xécuté
lors de la création d'un enregistrement pourra incrémenter ce n uméro une
fois l'enregistrement créé, contrairement à ce qui se pass e avec le
NuméroAuto, où le numéro est incrémenté quand on commence à se demander
si des fois on ne va pas éventuellement peut-être créer un
enregistrement si des fois on restait bien décidé, et si on se pose la
question cinq fois sans donner suite les numéros de deux enregistrem ents
successifs sont distants de 5 (euh ... ou 6).

Bon alors c'est bien gentil tout ça mais il reste à régler son compte à
ce A. Enfin bon ça ça concerne la conception de la base, pour c e qui est
de l'implémentation j'imagine qu'il n'y a pas de problème ?
____________________________________
chris a écrit, le 15/06/2009 16:47 :
Bonjour,
Je cherche sur access un moyen d'avoir une clé primaire qui s'incr émente
toute seule du style :
95001A devient 95002, puis 95003 etc mais qu'on puisse la modifier pour
devenir 95003A.
Merci pour votre aide.


Avatar
chris
Bonjour,
En fait j'ai une carte avec un numéro du type 96000 et quand cette carte
sort et rentre à nouveau elle devient 96000A puis 96000B... donc je cherche
le moyen que par défaut quand je rentre une nouvelle carte elle s'incrémente,
mais qu'access me laisse mettre une lettre si c'est un retour de carte.
J'espère que c'est compréhensible et merci pour l'aide.

"Gloops" a écrit :

Bonjour,

D'après ce que je comprends, le NuméroAuto ne convient pas ?
Que représente ce A ?

L'idée qui me vient à l'esprit est d'avoir une table (la table de
paramètres peut faire l'affaire si il n'y a pas de risque de fausse
manœuvre) avec un champ contenant le prochain numéro. Le code exécuté
lors de la création d'un enregistrement pourra incrémenter ce numéro une
fois l'enregistrement créé, contrairement à ce qui se passe avec le
NuméroAuto, où le numéro est incrémenté quand on commence à se demander
si des fois on ne va pas éventuellement peut-être créer un
enregistrement si des fois on restait bien décidé, et si on se pose la
question cinq fois sans donner suite les numéros de deux enregistrements
successifs sont distants de 5 (euh ... ou 6).

Bon alors c'est bien gentil tout ça mais il reste à régler son compte à
ce A. Enfin bon ça ça concerne la conception de la base, pour ce qui est
de l'implémentation j'imagine qu'il n'y a pas de problème ?
____________________________________
chris a écrit, le 15/06/2009 16:47 :
> Bonjour,
> Je cherche sur access un moyen d'avoir une clé primaire qui s'incrémente
> toute seule du style :
> 95001A devient 95002, puis 95003 etc mais qu'on puisse la modifier pour
> devenir 95003A.
> Merci pour votre aide.




Avatar
3stone
Salut,

chris wrote:
Bonjour,
Je cherche sur access un moyen d'avoir une clé primaire qui
s'incrémente toute seule du style :
95001A devient 95002, puis 95003 etc mais qu'on puisse la modifier
pour devenir 95003A.




Ce que tu décris est un peu boiteux...

Une clé primaire automatique... ok
95001A devient 95002, puis 95003 ? d'après quelle règle ?
pouvoir la modifier pour devenir 95003A... donc plus automatique

Je pense que le plus simple serait de te présenter la plus grande clé
incrémenté de 1


Private Sub Form_Current()
If Me.NewRecord Then
Me.PK = Val(DMax("PK", "T_SP")) + 1
End If
End Sub


PK est le nom de ta clé primaire
T_SP est le nom de ta table...
La clé primaire est obligatoirement de type texte.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Gloops
chris a écrit, le 17/06/2009 11:29 :
Bonjour,
En fait j'ai une carte avec un numéro du type 96000 et quand cette carte
sort et rentre à nouveau



Tu veux dire quand elle est remplacée ?
Parce que si c'est la même qui revient, le A puis B n'a rien à faire
dans la clef ...


Bon, pour finir, ça marche, avec ce que j'ai décrit, ou pas ?
Avatar
Jac
… et si tu ajoutais un champ supplémentaire ? Alpha, 1 ou plusieurs
caractères, c'est toi qui doit savoir. Ton champ numérique 95000 ou
95002 ne changerait pas et tu ferais une clé primaire s'appuyant sur
les 2 champs (Num et Txt).

Pour les traitements un champ concaténé devrait faire l'affaire :
Version: [N°] & [Txt] qui renverrait 95000A ou 95000B ou …

Maintenant, si ta carte rentre et sors, je pense que tu fais quelques
saisies en passant. Je pense à des mouvements de compte, entretien de
véhicules ou de machines, km, carte de carburant ou de pointage.

Dans ce cas il faudrait peut être imaginer une table supplémentaire
avec l'historique A / B / C / D / … / et ta clé primaire concaténée
permettrait de faire une liaison entre tes deux tables et n'afficher
que la valeur la plus récente.

Mais tu pourrais te passer de ce champ texte en utilisant, entre autre,
un champ automatique date de création de fiche qui peut d'être
sollicité pour n'afficher que la date la plus récente (Requête /
Regroupement / Max).

Mais si tu n'expliques pas mieux le pourquoi du comment de la chose, on
n'a pas assez d'élements pour t'orienter vers une solution qui puisse
répondre à ton problème ou t'aider à changer de stratégie.

On en reparle quand tu veux.

Jac


chris a utilisé son clavier pour écrire :
Bonjour,
En fait j'ai une carte avec un numéro du type 96000 et quand cette carte
sort et rentre à nouveau elle devient 96000A puis 96000B... donc je cherche
le moyen que par défaut quand je rentre une nouvelle carte elle s'incrémente,
mais qu'access me laisse mettre une lettre si c'est un retour de carte.
J'espère que c'est compréhensible et merci pour l'aide.

"Gloops" a écrit :

Bonjour,

D'après ce que je comprends, le NuméroAuto ne convient pas ?
Que représente ce A ?

L'idée qui me vient à l'esprit est d'avoir une table (la table de
paramètres peut faire l'affaire si il n'y a pas de risque de fausse
manœuvre) avec un champ contenant le prochain numéro. Le code exécuté
lors de la création d'un enregistrement pourra incrémenter ce numéro une
fois l'enregistrement créé, contrairement à ce qui se passe avec le
NuméroAuto, où le numéro est incrémenté quand on commence à se demander
si des fois on ne va pas éventuellement peut-être créer un
enregistrement si des fois on restait bien décidé, et si on se pose la
question cinq fois sans donner suite les numéros de deux enregistrements
successifs sont distants de 5 (euh ... ou 6).

Bon alors c'est bien gentil tout ça mais il reste à régler son compte à
ce A. Enfin bon ça ça concerne la conception de la base, pour ce qui est
de l'implémentation j'imagine qu'il n'y a pas de problème ?
____________________________________
chris a écrit, le 15/06/2009 16:47 :
Bonjour,
Je cherche sur access un moyen d'avoir une clé primaire qui s'incrémente
toute seule du style :
95001A devient 95002, puis 95003 etc mais qu'on puisse la modifier pour
devenir 95003A.
Merci pour votre aide.








Avatar
chris
Merci pour vos réponses je vais essayer et je vous tiens au courant, encore
merci

"Jac" a écrit :

… et si tu ajoutais un champ supplémentaire ? Alpha, 1 ou plusieurs
caractères, c'est toi qui doit savoir. Ton champ numérique 95000 ou
95002 ne changerait pas et tu ferais une clé primaire s'appuyant sur
les 2 champs (Num et Txt).

Pour les traitements un champ concaténé devrait faire l'affaire :
Version: [N°] & [Txt] qui renverrait 95000A ou 95000B ou …

Maintenant, si ta carte rentre et sors, je pense que tu fais quelques
saisies en passant. Je pense à des mouvements de compte, entretien de
véhicules ou de machines, km, carte de carburant ou de pointage.

Dans ce cas il faudrait peut être imaginer une table supplémentaire
avec l'historique A / B / C / D / … / et ta clé primaire concaténée
permettrait de faire une liaison entre tes deux tables et n'afficher
que la valeur la plus récente.

Mais tu pourrais te passer de ce champ texte en utilisant, entre autre,
un champ automatique date de création de fiche qui peut d'être
sollicité pour n'afficher que la date la plus récente (Requête /
Regroupement / Max).

Mais si tu n'expliques pas mieux le pourquoi du comment de la chose, on
n'a pas assez d'élements pour t'orienter vers une solution qui puisse
répondre à ton problème ou t'aider à changer de stratégie.

On en reparle quand tu veux.

Jac


chris a utilisé son clavier pour écrire :
> Bonjour,
> En fait j'ai une carte avec un numéro du type 96000 et quand cette carte
> sort et rentre à nouveau elle devient 96000A puis 96000B... donc je cherche
> le moyen que par défaut quand je rentre une nouvelle carte elle s'incrémente,
> mais qu'access me laisse mettre une lettre si c'est un retour de carte.
> J'espère que c'est compréhensible et merci pour l'aide.
>
> "Gloops" a écrit :
>
>> Bonjour,
>>
>> D'après ce que je comprends, le NuméroAuto ne convient pas ?
>> Que représente ce A ?
>>
>> L'idée qui me vient à l'esprit est d'avoir une table (la table de
>> paramètres peut faire l'affaire si il n'y a pas de risque de fausse
>> manœuvre) avec un champ contenant le prochain numéro. Le code exécuté
>> lors de la création d'un enregistrement pourra incrémenter ce numéro une
>> fois l'enregistrement créé, contrairement à ce qui se passe avec le
>> NuméroAuto, où le numéro est incrémenté quand on commence à se demander
>> si des fois on ne va pas éventuellement peut-être créer un
>> enregistrement si des fois on restait bien décidé, et si on se pose la
>> question cinq fois sans donner suite les numéros de deux enregistrements
>> successifs sont distants de 5 (euh ... ou 6).
>>
>> Bon alors c'est bien gentil tout ça mais il reste à régler son compte à
>> ce A. Enfin bon ça ça concerne la conception de la base, pour ce qui est
>> de l'implémentation j'imagine qu'il n'y a pas de problème ?
>> ____________________________________
>> chris a écrit, le 15/06/2009 16:47 :
>>> Bonjour,
>>> Je cherche sur access un moyen d'avoir une clé primaire qui s'incrémente
>>> toute seule du style :
>>> 95001A devient 95002, puis 95003 etc mais qu'on puisse la modifier pour
>>> devenir 95003A.
>>> Merci pour votre aide.
>>
>>