Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 10/12/2007, 16h46   #1
Invité régulier
 
Inscription : novembre 2004
Messages : 25
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2004
Messages : 25
Points : 8
Points : 8
Par défaut modification du numero auto

bonjour,
J'ai une base de données qui a été développé il y a de ça 2 ans par un collegue sous access 2003. elle gere l'arrivé et le départ du courrier.
Pour attribuer un numéro de courrier celui ci a utilisé un champ appelé id_courrier au format numero auto. les personnes qui utilisent cette base m'on demandé de modifié l'id courrier. Vous imaginez que quand elle ecrit sur le document courrier numero 215306 ca donne à réflechir.

Je souhaite donc savoir si c'est possible de modifié les prochaines entrée de courrier ?? je sais qu'on ne peut pas repartir a 1 . mais plutot avoir un numero id qui s'incremente a partir de 20080000.....

Est ce possible ? et comment??

cordialement

julien j.
warrios est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 00h36   #2
Membre confirmé
 
Inscription : novembre 2006
Messages : 467
Détails du profil
Informations personnelles :
Âge : 49

Informations forums :
Inscription : novembre 2006
Messages : 467
Points : 284
Points : 284
Bonjour,
ici je donne mon sentiment sur les champs clés "signifiant".
Citation:
Vous imaginez que quand elle ecrit sur le document courrier numero 215306 ca donne à réflechir
???
Je suppose que dans la numérotation que tu proposes 2008 est l'année.
Il n'y a donc pas de champ date dans l'application?

Je suppose aussi que le premier jour travaillé de 2008 tu seras là pour faire démarrer la numauto à 200800001?, pareil en 2009?
Ou que tu auras bidouillé une tâche pour faire celà automatiquement.
J'espère que ça va marcher car sinon on te reverra sur le forum.

Si il y a un loupé et que tes premiers courriers de 2009 sont en 200812364 tout est par-terre car dans une base de donnée toute donnée est sensée être exacte!

Bref, ce type de numérotation date de l'ère préInformatique (ça commence à remonter à loin) et ne sert à RIEN, sinon à "donner à réfléchir".
__________________
Un seul conseil: la règle des 3S.
tAKAmAkA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 11h44   #3
Invité régulier
 
Inscription : novembre 2004
Messages : 25
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2004
Messages : 25
Points : 8
Points : 8
quel solution proposerais tu alors?

tte proposition m'interesse

ju
warrios est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 12h25   #4
Membre à l'essai
 
Inscription : mai 2003
Messages : 57
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 57
Points : 24
Points : 24
hello,

une solution aussi c'est que tu cree in champ id courrier#2 au format numerique qui sera renseigner à chaque ajout d'enregistrement.
poxvx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 14h36   #5
Rédacteur
 
Avatar de Lou Pitchoun
 
Christophe Lessirard
Inscription : février 2005
Messages : 5 029
Détails du profil
Informations personnelles :
Nom : Christophe Lessirard
Âge : 33
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 5 029
Points : 6 000
Points : 6 000
Envoyer un message via MSN à Lou Pitchoun
Salut,

Une solution que j'ai utilisé un jour (peut être pas la meilleure mais elle fonctionne).

J'ai un champ à 8 positions pour stocker un numéro (Sans doublon) : yyyynnnn
yyyy => année de création du dossier
nnnn => numéro de dossier.

Comme tu vas gérer des courriers estime le volume de courriers envoyés/reçus pour la longueur du numéro.

Lors de la création d'un enregistrement, je crée le numéro de dossier :
Code :
1
2
3
4
5
6
7
8
Set rstDos = CurrentDb.OpenRecordset("SELECT MAX(NumDos) As NumeroDos FROM tblDossier")
 
If Left(rstDos![NumeroDos], 4) < CStr(Year(Date)) Then
    sNumDos = Year(Date) & "0001"
    Else
        sNumDos = rstDos![NumeroDos] + 1
End If
Me.txtNumDos = sNumDos
__________________

Access : Les Cours, Les Sources et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
sinon

Ma boite à MPs n'est pas l'annexe du forum Le complément BouleDeCristal n'existe pas encore !!!
Lou Pitchoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h05   #6
Membre confirmé
 
Inscription : novembre 2006
Messages : 467
Détails du profil
Informations personnelles :
Âge : 49

Informations forums :
Inscription : novembre 2006
Messages : 467
Points : 284
Points : 284
Re,
La soluce de lou pitchoun est bien, mais elle repose sur une estimation.
Par principe je n'aime pas beaucoup.
Soit tu veux limiter le nombre de caractères et tu prends un risque de dépasser, soit tu bétonnes et tu as un ou deux caractères qui ne serviront jamais (peut-on vraiment dire: jamais?) mais qu'il faudra, pour tes opératrices, saisir.

Mais, me diras-tu, l'essentiel est que le client soit satisfait.
__________________
Un seul conseil: la règle des 3S.
tAKAmAkA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h14   #7
Rédacteur
 
Avatar de Lou Pitchoun
 
Christophe Lessirard
Inscription : février 2005
Messages : 5 029
Détails du profil
Informations personnelles :
Nom : Christophe Lessirard
Âge : 33
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 5 029
Points : 6 000
Points : 6 000
Envoyer un message via MSN à Lou Pitchoun
Disons que dans le cas où j'ai écrit cette fonction, les 4 positions ne seront jamais utilisées... Mais j'ai préféré prévoir. Et je trouvais mieux d'avoir un numéro sur 8 positions que des numéros de longueur variable.


Rien n'empêche de créer des numéros du style :
20081
20082
...
20082154
20082155

Il ne reste plus qu'à combiner les fonctions left, right et len pour extraire le numéro de dossier et connaitre le dernier.
__________________

Access : Les Cours, Les Sources et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
sinon

Ma boite à MPs n'est pas l'annexe du forum Le complément BouleDeCristal n'existe pas encore !!!
Lou Pitchoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 15h33   #8
Membre confirmé
 
Inscription : novembre 2006
Messages : 467
Détails du profil
Informations personnelles :
Âge : 49

Informations forums :
Inscription : novembre 2006
Messages : 467
Points : 284
Points : 284
On peut effectivement penser que d'un point de vue esthétique les longueurs fixes sont préférables.
On peut dire aussi que de point de vue...vue (j'entends par là visuel, ou visibilité) 20080852 n'apporte que trouble et pb de mémorisation.
Je comprends la crainte des opératrices de warrios lorsque les numéros vont s'allonger, 215306 ça va, 65920205 ça commence à faire long.
(Entre les deux Access n'existera peut-être plus ).
Ne pourrait-on pas combiner avec la soluce de poxvx et faire une clé multiple? (je dis ça mais je n'ai jamais pratiqué les clés multiples).
Avec un champ année qui viendrait tout seul, à la création comme à la saisie?
__________________
Un seul conseil: la règle des 3S.
tAKAmAkA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 13h10   #9
Candidat au titre de Membre du Club
 
Inscription : décembre 2004
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France, Maine et Loire (Pays de la Loire)

Informations forums :
Inscription : décembre 2004
Messages : 19
Points : 14
Points : 14
Envoyer un message via MSN à PapyMouzot
Par défaut Si je peux me permettre...

Bonjour à tous...
Je pense, avant de chercher une solution...qu'il serait souhaitable de demander à cette brave secrétaire ce qu'elle veut...Parce qu'il ne faut pas confondre :
1°) la clef primaire de la table qui est un outil "réservé" ...
2°) le numéro d'enregistrement du courrier (départ ou arrivée).
Et
Les règles de numérotation Départ / Arrivée étant différentes, il faut donc écrire deux fonctions.
La première, concernant, le courrier arrivé est en général de la forme "de 1 au 1er janvier à xxx au 31 décembre".
Soluce ? banal emploi d'une fonction déclarée static...ensuite
"VarCourrierArrivée" = VarCourrierArrivée+1 (avé les trucs du 31 décembre au 1er janvier etc)

la seconde concerne le courrier départ :
Deux cas : enregistrement départ unique ou départ multiple (plusieurs secrétariat).
Si départ unique, faire un Ctrl+C Ctrl+V de la fonction précédente...
Si départ multiple, une variable "static" par bureau, et le tour est joué.
Je fais l'impasse sur les initialisations du matin et des précautions de bascule en fin d'année.

Cette méthode permet en outre un paramétrage "amont" très utile si demain la secrétaire change d'avis, si le patron donne son avis ou l'informaticien parti à la pêche aux moules....
Cordialement,
Bernard.
PapyMouzot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 12h29   #10
Membre à l'essai
 
Inscription : mai 2003
Messages : 57
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 57
Points : 24
Points : 24
a cette adresse :clic here
il y a le solution a ton probleme.

poxvx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h58.


 
 
 
 
Partenaires

Hébergement Web