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

Numérotage sequentiel non automatique

6 réponses
Avatar
boo
Bonjour,

J'ai une table "factures" dont un des champs est num_fac, et c'est un champs
_texte_, de 6 positions.

Ce numéro est attribué manuellement, de manière séquentielle en prenant le
numéro précédent et en ajoutant 1.

Je ne suis pas en mesure de convertir le champs texte de la table en champs
numérique car la BDD est liée (en "batch")à un programme comptable
intangible.

Toutefois, je voudrais que l'utilisateur respecte la séquence, et donc
puisse avoir un petit message si il indique un num.erroné.
Eventuellement, une requête qui afficherait le nouveau num_fac en fonction
du dernier utilisé.

Y aurait-il une soluce facile, avec très peu de code ? (oui, ça reste ma
bête noire...)

Merci pour vos conseils avisés,

Thierry

6 réponses

Avatar
Raymond [mvp]
Bonjour.

tu trouveras un exemple sur les pages:
http://officesystem.access.free.fr/ex_compteuralpha.htm
http://officesystem.access.free.fr/ex_numauto_personnel.htm
http://officesystem.access.free.fr/telecharger/numerofacture.zip Cette base
donne un exemple simple de création automatique de numéro de facture ou
d'avoir selon le signe positif ou négatif d'un champ.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"boo" <boo_ga_loo'AT'belgacom'D0T'net> a écrit dans le message de news:

Bonjour,

J'ai une table "factures" dont un des champs est num_fac, et c'est un
champs
_texte_, de 6 positions.

Ce numéro est attribué manuellement, de manière séquentielle en prenant le
numéro précédent et en ajoutant 1.

Je ne suis pas en mesure de convertir le champs texte de la table en
champs
numérique car la BDD est liée (en "batch")à un programme comptable
intangible.

Toutefois, je voudrais que l'utilisateur respecte la séquence, et donc
puisse avoir un petit message si il indique un num.erroné.
Eventuellement, une requête qui afficherait le nouveau num_fac en fonction
du dernier utilisé.

Y aurait-il une soluce facile, avec très peu de code ? (oui, ça reste ma
bête noire...)

Merci pour vos conseils avisés,

Thierry




Avatar
td__
Cette base
donne un exemple *simple* de création automatique de numéro de facture ou
d'avoir selon le signe positif ou négatif d'un champ.
--
Désolé, trop fort pour moi.

Lorsque j' encode un nouvel enregistrement, n'existe-t-il pas une fonction
qui irait rechercher le dernier enregistrement, son champs NUM_FAC auquel
j'ajouterais 1 ? Une simple macro, peut-être ?
Merci,

Th

Avatar
Raymond [mvp]
Désolé que ça ne convienne pas.
utilise la fonction DMax qui va chercher la valeur maxi dans un champ de
table et tu rajouteras 1.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"td__" @belgacom.net> a écrit dans le message de news:
uhq1%23Y$

Cette base
donne un exemple *simple* de création automatique de numéro de facture ou
d'avoir selon le signe positif ou négatif d'un champ.
--
Désolé, trop fort pour moi.

Lorsque j' encode un nouvel enregistrement, n'existe-t-il pas une fonction
qui irait rechercher le dernier enregistrement, son champs NUM_FAC auquel
j'ajouterais 1 ? Une simple macro, peut-être ?
Merci,

Th





Avatar
boo
Merci, Raymond, pour faire *très* simple, j'ai créé sur mon form Facture un
contrôle dont la propriété est: =Max(num_fac)+1,
et ce numéro sera bien celui de ma facture suivante.
Ce que je voudrais maintenant c'est, lorsque j'entre un nouvel
enregistrement de facture, le champs num_fac de ce nouvel enregistrement
prenne la valeur de ce contrôle que je viens de créer.
C'est sûrement très simple ?
Merci,
Thierry



"Raymond [mvp]" a écrit dans le message de
news:urRCLd$
Désolé que ça ne convienne pas.
utilise la fonction DMax qui va chercher la valeur maxi dans un champ de
table et tu rajouteras 1.


Avatar
Raymond [mvp]
dès que tu as lancé la fonction de nouvel enregistrement, sur l'événement
Form_Current, tu testes si tu es sur un nouvel enregistrement ou si le
numéro de facture est Null et tu appliques ta fonction:
Me.Monnuméro = .........

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"boo" <boo_ga_loo'AT'belgacom'D0T'net> a écrit dans le message de news:
%23ztk48I%

Merci, Raymond, pour faire *très* simple, j'ai créé sur mon form Facture
un
contrôle dont la propriété est: =Max(num_fac)+1,
et ce numéro sera bien celui de ma facture suivante.
Ce que je voudrais maintenant c'est, lorsque j'entre un nouvel
enregistrement de facture, le champs num_fac de ce nouvel enregistrement
prenne la valeur de ce contrôle que je viens de créer.
C'est sûrement très simple ?
Merci,
Thierry



Avatar
boo
Merci, Raymond, c'est résolu, peut-être pas très orthodoxe, mais voici:

J'ai créé un bouton d'appel d'un nouveau form.vierge

Private Sub Commande354_Click()
On Error GoTo Err_Commande354_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "FACTURE"
DoCmd.OpenForm stDocName, , , stLinkCriteria
DoCmd.GoToRecord , , acNewRec
[NUM_FAC] = Me.Texte351

Exit_Commande354_Click:
Exit Sub



...et Texte351 c'est le résultat de la formule =Max(num_fac)+1, (j'ai créé
ce champs utilitaire).

??Il y a peut-être moyen de faire plus élégant pour la dernière ligne ??

Thierry




"Raymond [mvp]" a écrit dans le message de
news:%23aVrESJ%
dès que tu as lancé la fonction de nouvel enregistrement, sur l'événement
Form_Current, tu testes si tu es sur un nouvel enregistrement ou si le
numéro de facture est Null et tu appliques ta fonction:
Me.Monnuméro = .........

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"boo" <boo_ga_loo'AT'belgacom'D0T'net> a écrit dans le message de news:
%23ztk48I%

Merci, Raymond, pour faire *très* simple, j'ai créé sur mon form Facture
un
contrôle dont la propriété est: =Max(num_fac)+1,
et ce numéro sera bien celui de ma facture suivante.
Ce que je voudrais maintenant c'est, lorsque j'entre un nouvel
enregistrement de facture, le champs num_fac de ce nouvel enregistrement
prenne la valeur de ce contrôle que je viens de créer.
C'est sûrement très simple ?
Merci,
Thierry