Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
David PONDA
Si tu ne connais pas VBA alors la ca va etre un peu dure a faire... ok essai ca Les rubriques de type AutoNumérique présentent l'inconvénient d'incrémenter le compteur même si le processus d'ajout d'enregistrement est interrompu. Ainsi, un No de commande ou un No de facture peut avoir une valeur supérieure de 2 par rapport au précédent.
Dans une bdd mono-utilisateur, une solution simple à ce problème est d'utiliser le type de donnée Entier Long et de définir la valeur par défaut de la zone de texte NoCommande du formulaire comme suit:
=DLast("[NoCommande]", "Commande") + 1
La fonction intrinsèque DLast() retourne la valeur de la rubrique NoCommande de l'enregistrement précédent, et on y ajoute 1. Mais, la valeur de NoCommande sera incrémentée seulement quand l'enregistrement sera écrit dans la table sous-jacente. Pour tester au niveau de l'objet formulaire, on écrira par exemple ceci:
If NewRecord Then
txtNoCompte=DLast("[NoCompte]","tblClients") + 1
Pour une bdd accédée simultanément par plusieurs usagers, il est préférable d'utiliser l'algorithme suivant:
Bien entendu, dans les deux cas, la rubrique à incrémenter automatiquement sera de type Indexé sans doublon.
En réseau, on utilisera de préférence un module standard comprenant une fonction pour incrémenter automatiquement le compteur selon l'incrément désiré (unitaire dans l'exemple) et une fonction de reséquencement après suppressions. Il est toutefois recommandé d'utiliser le type NumériqueAuto pour des numéros de comptes bancaires!!!
"Emilie" a écrit dans le message de news:
Bonjour,
Je souhaiterai crée un numéroAuto personnalisé de façon à obtenir : 3 chiffres / année Ex : 001/2006 002/2006 ....
De plus il faudrait que les 3 premiers chiffres retournent à zéro à chaque changement d'année.
Est ce possible, si oui comment Je dispose d'une table (T_Fiche) avec les champs suivant : Num - Date - Emetteur ....
Merci de votre aide, attention je ne connais pas le language VBA ...
Si tu ne connais pas VBA alors la ca va etre un peu dure a faire...
ok essai ca
Les rubriques de type AutoNumérique présentent l'inconvénient d'incrémenter
le compteur même si le processus d'ajout d'enregistrement est interrompu.
Ainsi, un No de commande ou un No de facture peut avoir une valeur
supérieure de 2 par rapport au précédent.
Dans une bdd mono-utilisateur, une solution simple à ce problème est
d'utiliser le type de donnée Entier Long et de définir la valeur par défaut
de la zone de texte NoCommande du formulaire comme suit:
=DLast("[NoCommande]", "Commande") + 1
La fonction intrinsèque DLast() retourne la valeur de la rubrique NoCommande
de l'enregistrement précédent, et on y ajoute 1. Mais, la valeur de
NoCommande sera incrémentée seulement quand l'enregistrement sera écrit dans
la table sous-jacente. Pour tester au niveau de l'objet formulaire, on
écrira par exemple ceci:
If NewRecord Then
txtNoCompte=DLast("[NoCompte]","tblClients") + 1
Pour une bdd accédée simultanément par plusieurs usagers, il est préférable
d'utiliser l'algorithme suivant:
Bien entendu, dans les deux cas, la rubrique à incrémenter automatiquement
sera de type Indexé sans doublon.
En réseau, on utilisera de préférence un module standard comprenant une
fonction pour incrémenter automatiquement le compteur selon l'incrément
désiré (unitaire dans l'exemple) et une fonction de reséquencement après
suppressions.
Il est toutefois recommandé d'utiliser le type NumériqueAuto pour des
numéros de comptes bancaires!!!
"Emilie" <Emilie@discussions.microsoft.com> a écrit dans le message de news:
26FFBE98-E3B2-413F-B1A9-A742BA2E9A1B@microsoft.com...
Bonjour,
Je souhaiterai crée un numéroAuto personnalisé de façon à obtenir :
3 chiffres / année
Ex : 001/2006
002/2006 ....
De plus il faudrait que les 3 premiers chiffres retournent à zéro à chaque
changement d'année.
Est ce possible, si oui comment
Je dispose d'une table (T_Fiche) avec les champs suivant : Num - Date -
Emetteur ....
Merci de votre aide, attention je ne connais pas le language VBA ...
Si tu ne connais pas VBA alors la ca va etre un peu dure a faire... ok essai ca Les rubriques de type AutoNumérique présentent l'inconvénient d'incrémenter le compteur même si le processus d'ajout d'enregistrement est interrompu. Ainsi, un No de commande ou un No de facture peut avoir une valeur supérieure de 2 par rapport au précédent.
Dans une bdd mono-utilisateur, une solution simple à ce problème est d'utiliser le type de donnée Entier Long et de définir la valeur par défaut de la zone de texte NoCommande du formulaire comme suit:
=DLast("[NoCommande]", "Commande") + 1
La fonction intrinsèque DLast() retourne la valeur de la rubrique NoCommande de l'enregistrement précédent, et on y ajoute 1. Mais, la valeur de NoCommande sera incrémentée seulement quand l'enregistrement sera écrit dans la table sous-jacente. Pour tester au niveau de l'objet formulaire, on écrira par exemple ceci:
If NewRecord Then
txtNoCompte=DLast("[NoCompte]","tblClients") + 1
Pour une bdd accédée simultanément par plusieurs usagers, il est préférable d'utiliser l'algorithme suivant:
Bien entendu, dans les deux cas, la rubrique à incrémenter automatiquement sera de type Indexé sans doublon.
En réseau, on utilisera de préférence un module standard comprenant une fonction pour incrémenter automatiquement le compteur selon l'incrément désiré (unitaire dans l'exemple) et une fonction de reséquencement après suppressions. Il est toutefois recommandé d'utiliser le type NumériqueAuto pour des numéros de comptes bancaires!!!
"Emilie" a écrit dans le message de news:
Bonjour,
Je souhaiterai crée un numéroAuto personnalisé de façon à obtenir : 3 chiffres / année Ex : 001/2006 002/2006 ....
De plus il faudrait que les 3 premiers chiffres retournent à zéro à chaque changement d'année.
Est ce possible, si oui comment Je dispose d'une table (T_Fiche) avec les champs suivant : Num - Date - Emetteur ....
Merci de votre aide, attention je ne connais pas le language VBA ...