Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
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 31/01/2012, 17h21   #1
Membre à l'essai
 
Néné CMZX
Inscription : décembre 2009
Messages : 81
Détails du profil
Informations personnelles :
Nom : Néné CMZX

Informations forums :
Inscription : décembre 2009
Messages : 81
Points : 21
Points : 21
Par défaut Numéro de facture

Bonjour,

Je sèche grave sur la façon de mettre un numéro de facture automatique sur un formulaire.
Lorsque je clique sur un bouton "Ajout d'un enregistrement", je souhaiterais avoir le dernier numéro de facture éditée + 1
J'ai créé une requête qui me donne cette donnée :

Code sql :
1
2
3
SELECT Max([N° Facture AE])+1 AS NMR
FROM [T_Facture Assort]
WHERE ((([T_Facture Assort].Année)=2012));

mais je n'arrive pas à mettre le résultat en valeur par défaut sur mon champ [N° Facture AE] figurant sur mon formulaire.

Pour info, ma table [T_Facture Assort] contient des numéros de factures sur plusieurs années et la numérotation repart à 0 en début d'année.
Mon champ [N° Facture AE] est un champ numérique.

Quelqu'un a une idée ?
Merci de votre aide.
CmzxNene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 18h45   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
Tu peux utiliser une fonction qui va te retourner le résultat voulu mais ta solution risque de te poser un problème si plusieurs personnes peuvent créer des factures en même temps. En effet, il se peut que ton code s'éxécute exactement en même temps sur les 2 machines et donc que le max soit le même pour les deux personnes générant ensuite le même numéro suivant.

Le calcul de numéro de facture unique et en environnement multi-utilisteur a déjà été abordré de nombreuse fois ici donc une petite recherche devrait te permettre de trouver une solution.

Mais si tu ne la trouves pas n'hésite pas à demander :-).

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 18h46   #3
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
Au fait comme tu es sur A2010 tu devrais pouvoir utiliser les nouveaux 'triggers' (macro de données ?) qui te permettent de faire des calculs à même ta table mais ma remarque sur la simultanéïté reste vraie.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 21h44   #4
Membre à l'essai
 
Néné CMZX
Inscription : décembre 2009
Messages : 81
Détails du profil
Informations personnelles :
Nom : Néné CMZX

Informations forums :
Inscription : décembre 2009
Messages : 81
Points : 21
Points : 21
Bonjour Marot,

et merci pour tes conseils.
J'ai opté pour du code et la fonction DMax qui me retourne enfin ce que j'attendais.
Merci et @+
CmzxNene est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h24.


 
 
 
 
Partenaires

Hébergement Web