Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 04/01/2012, 14h07   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1
Points : 0
Points : 0
Par défaut un compteur qui s'incrémente automatiquement

Bonjour,
Je souhaiterai créer un vba dans access un compteur un champ qui reprenne le contenu d'un champ + numéro attribué en auto par la machine

Par exemple mon utilisateur saisi la date 13/06/2011 et dans un autre champ isa prend automatiqument l'année saisie et un numéros qui sincrimente automatiqument ,

j'explique=
j'aurais par exemple 2011001 C-a-d l'année actuel 2011 plus un numéro de devis qui s'incrèmente de 001 jeusqua 900 et moi je souhaite voir s'afficher automatiquement dans un autre champ
20110001 ,2011002.........2011700 et quand l'année change le compteur revien a 001
c-a-d 2012001, 2012002,............,2012900 et ainssi de suite

Comment faire merci Boucoup
axelo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 15h42   #2
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Bjr,

Ceci est possible via une simple boucle et des requêtes :

- Supposons une table qui conserve toutes les dates saisies
- si l'utilisateur saisit une date dont l'année n'est pas enregistrée dans la table , donc le compteur sera 001 sinon , il reprend le compteur le plus élévé ( un order by suffit )

avant d'aller plus loin , j'aimerai savoir :
- pourquoi jusqu'à 900 ?
- Que faire s'il y a plusieurs fois la même date ?

Cdt
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 17h48   #3
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
bonjour,

une ancienne discussion de puledad1 sur un sujet assez similaire à adapter:
Incrémentation d'un numéro à partir d'une date
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 11h47   #4
Membre du Club
 
Homme Rémi GAUDINAT
Inscription : juin 2010
Messages : 53
Détails du profil
Informations personnelles :
Nom : Homme Rémi GAUDINAT
Âge : 43

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : juin 2010
Messages : 53
Points : 47
Points : 47
Envoyer un message via Skype™ à Rémi GAUDINAT
Par défaut incrémentation

Bonjour,
Pour ma part, je passe par une table d'incrémentation via une fonction de ce type
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Public Function increment_devis() As String
Dim rs02 As ADODB.Recordset
Set rs02 = New ADODB.Recordset
rs02.CursorLocation = adUseServer
rs02.Open "SELECT MA_TABLE_INCREMENT.* " _
& "FROM MA_TABLE_INCREMENT", connexion_database, adOpenKeyset, adLockPessimistic
increment_devis = Format(Date, "yyyy.mm") & "." & (rs02.Fields("N_DEVIS").Value + 1)
rs02.Fields("N_DEVIS").Value = rs02.Fields("N_DEVIS").Value + 1
rs02.Update
rs02.Close
Set rs02 = Nothing
End Function
A noter que ma numérotation ne revient jamais à zéro en début d'année et que "MA_TABLE_INCREMENT" est une table contenant une seule et unique ligne pouvant contenir des renseignements à caractère unique, enfin tout ce qui te sembleras bon.
Après libre à toi d'adapter une fonction de remise à zéro de ta numérotation sur le premier jour ouvrable de l'année.
Bon courage
Rémi GAUDINAT est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h56.


 
 
 
 
Partenaires

Hébergement Web