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

Créer un numéro de ligne par numéro de facture

3 réponses
Avatar
celtic77
Bonjour
J'aimerais cr=E9er un num=E9ro de ligne pour chaque ligne d'une m=EAme
facture. Par exemple, j'ai une facture A avec 3 lignes qui ont un
montant identiques, et une facture B avec 2 lignes au m=EAme montant, et
je voudrais un num=E9ro unique par ligne soit A1 50euros, A2 50 euros et
A3 50 euros puis B1 et B2
En esp=E9rant avoir =E9t=E9 clair,
Merci =E0 vous

3 réponses

Avatar
3stone
Salut,

celtic77 wrote:
Bonjour
J'aimerais créer un numéro de ligne pour chaque ligne d'une même
facture. Par exemple, j'ai une facture A avec 3 lignes qui ont un




C'est "normal"...
Il y a d'un coté la facture (NoFacture, NoClient, DateFacture...)
qui ira dans la table Factures...
et les "lignes", les articles de cette facture qui iront dans la
table FactureDetails (NoFacture, NoLigne, NoArticle, Quantité, PU...)

montant identiques, et une facture B avec 2 lignes au même montant, et
je voudrais un numéro unique par ligne soit A1 50euros, A2 50 euros et
A3 50 euros puis B1 et B2



Il faut éviter des numérotations barbares qui n'apportent rien, si ce n'est
une plus grande difficulté de mise en oeuvre et de maintenance.

Pour les ligne de facture, tu peux utiliser une fonction comme:

Function NoLigneFacture(NoFact As Long) As Integer
'/ Recherche du plus grand numéro de ligne
'/ pour la facture en cours
Dim NoMax As Integer
NoMax = Nz(DMax("NoLigne", "FactureDetail", "NoFacture=" & NoFact), 0)
'/ Si le numéro de facture n'existe pas encore,
'/ DMax() retourne NULL, que Nz() converti en 0
'/ Il reste à incrémenter la valeur retournée
NoLigneFacture = NoMax + 1
End Function

Donc, comme valeur par défaut de la zone de texte NoLigne,
il suffit décrire :

= NoLigneFacture(NoFacture)

pour obtenir le prochain numéro de ligne pour cette facture.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
celtic77
On 12 oct, 03:06, "3stone" wrote:
Salut,

celtic77 wrote:
> Bonjour
> J'aimerais créer un numéro de ligne pour chaque ligne d'une même
> facture. Par exemple, j'ai une facture A avec 3 lignes qui ont un

C'est "normal"...
Il y a d'un coté la facture (NoFacture, NoClient, DateFacture...)
qui ira dans la table Factures...
et les "lignes", les articles de cette facture qui iront dans la
table FactureDetails (NoFacture, NoLigne, NoArticle, Quantité, PU...)

> montant identiques, et une facture B avec 2 lignes au même montant, e t
> je voudrais un numéro unique par ligne soit A1 50euros, A2 50 euros e t
> A3 50 euros puis B1 et B2

Il faut éviter des numérotations barbares qui n'apportent rien, si ce n'est
une plus grande difficulté de mise en oeuvre et de maintenance.

Pour les ligne de facture, tu peux utiliser une fonction comme:

Function NoLigneFacture(NoFact As Long) As Integer
    '/ Recherche du plus grand numéro de ligne
    '/ pour la facture en cours
    Dim NoMax As Integer
    NoMax = Nz(DMax("NoLigne", "FactureDetail", "NoFacture=" & No Fact), 0)
    '/ Si le numéro de facture n'existe pas encore,
    '/ DMax() retourne NULL, que Nz() converti en 0
    '/ Il reste à incrémenter la valeur retournée
    NoLigneFacture = NoMax + 1
End Function

Donc, comme valeur par défaut de la zone de texte NoLigne,
il suffit décrire :

= NoLigneFacture(NoFacture)

pour obtenir le prochain numéro de ligne pour cette facture.

--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)



Merci à toi je vais essayer cela, j'avais juste oublié de préciser qu e
ce sont des tables extraites de ma compta fournisseur, je génère pas
de factures,elles ont été intégrées en automatique dans mon systè me
(EDI) sans numéro de ligne
Avatar
3stone
Salut,

celtic77 wrote:
Merci à toi je vais essayer cela, j'avais juste oublié de préciser que
ce sont des tables extraites de ma compta fournisseur, je génère pas
de factures,elles ont été intégrées en automatique dans mon système
(EDI) sans numéro de ligne



Si tu ne saisi pas les lignes, cela ne fonctionnera pas...

Si les tables existent déjà et que les lignes ne possèdent pas
encore de numérotations, tu ne pourras pas simplement en
ajouter, si ce n'est dans un ordre alléatoire...
La cause est que les enregistrements d'une table ne possèdent
pas un ordre déterminé.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)