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

Le
celtic77
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
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
En espérant avoir été clair,
Merci à vous
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #22668341
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)
celtic77
Le #22668621
On 12 oct, 03:06, "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, 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
3stone
Le #22670271
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)
Publicité
Poster une réponse
Anonyme