IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

Réintialisé le compteur


Sujet :

Modélisation

  1. #1
    Inactif  
    Inscrit en
    Janvier 2008
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 254
    Points : 59
    Points
    59
    Par défaut Réintialisé le compteur
    bonjour
    j'ai une table qui contient numérotation automatique, et date, je veux réinitialiser la numérotation a chaque nouvelle an , retour a 1 sans effacer les données de l'année précédente.
    j ai pensé a faire une requête avec condition date et numéro mais je n'arrive pas
    pouvez vous m'aidé sachant que je ne maîtrise pas actuellement le vba.
    merci pour votre aide
    bon courage

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    la numérotation automatique n'est pas desrtinée à te fournir un compteur d'enregistrement. Elle est prévue pour te donner un numéro garanti unique dans la table pour identifier ton enregistrement.

    Ce que tu demandes n'est pas possible. Si tu veux vraiment faire cela alors il te faut avoir ton propre champ NumFature (entier long par exemple) et un champ AnneeFacure où tu vas toi-même mettre le numéro via du VBA en gérant le retour à un en début d'année.

    Personnellement je te recommande de garder en interne le numéro automatique et de t'en servir pour faire tes relations et de n'avoir les champs NumFacture et AnneeFacture que pour l'affichage.

    Tu as dans la FAQ un exemple pour trouver le prochain numéro :
    https://access.developpez.com/faq/?p...elNumAutoHoles
    qu'on peut adapter pour y adjoindre l'année.

    Attention avec la solution de la FAQ il est impératif que NumFacture + AnneeFacture soit défini comme un index unique ou comme une clef primaire pour garantir que le système ne crée pas 2 factures avec le même numéro. La probablilité est très très faible mais elle existe.

    Il y a quelque part sur le site un tutoriel avec une solution plus avancée mais je n'arrive pas à le localiser.

    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.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Inactif  
    Inscrit en
    Janvier 2008
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 254
    Points : 59
    Points
    59
    Par défaut
    bonsoir

    "Personnellement je te recommande de garder en interne le numéro automatique et de t'en servir pour faire tes relations et de n'avoir les champs NumFacture et AnneeFacture que pour l'affichage."


    j ai pensé a cette solution mais pour la réalisé je tatonne,
    merci pour votre proposition, je continu a cherché, et je vous tiens au courant
    merci a vous tous

  4. #4
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Je ne fais que passer
    Ce que tu souhaites réaliser, sauf erreur, est une numérotation personnalisée.
    Alors c'est ici.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Inactif  
    Inscrit en
    Janvier 2008
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 254
    Points : 59
    Points
    59
    Par défaut Réinitialisé le compteur
    bonjour, merci pour votre aide
    pour ce lien :
    https://warin.developpez.com/tutorie...s/numauto2010/

    c flou pour moi, je pense faire une requête mais comment écrire les critères !!!!

    pour

    https://access.developpez.com/faq/?p...elNumAutoHoles
    j ai rien figé

    d'autre astuces svp je n arrive pas a faire ma propre numérotation personnalisé
    merci pour vos suggestions

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 261
    Points : 19 424
    Points
    19 424
    Billets dans le blog
    63
    Par défaut
    Comme indiqué dans le tutoriel, il te faut garder ton champ Numéro-auto et créer en plus un champ Indice de type entier long pour ta numérotation personnalisé.

    Ensuite, sur l'événement BeforeUpdate (avant Maj) d'un formulaire base sur la table, mettre un code de ce type, pour mettre à jour le champ Indice :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_BeforeUpdate(Cancel As Integer)
     
        ' Incrémente de 1 l'indice maxi de l'année inscrite dans le champ DateFacture du formulaire :
        Me.Indice = nz(DMax("Indice","T_Facture", "Year(DateFacture)=" & Year(Me.DateFacture) ,0) + 1
     
    End Sub
    Ici je suppose que les champs de table "T_Facture" se nomment "DateFacture" et "Indice".

    et j'utilise la fonction :

    DMax (Expr, domaine, critères)

    expr : le nom du champ
    domaine : le nom de la table ou de la requête
    critere : l'expression pour filtrer les données
    la fonction nz renvoie 0 si la fonction DMax renvoie une valeur Nulle.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

Discussions similaires

  1. [FLASH MX2004] Compteur progressif 0 à 95%
    Par DJeys dans le forum Flash
    Réponses: 5
    Dernier message: 21/07/2004, 14h58
  2. [XSL FO] Compteur a partir de 2
    Par Hugo001 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 30/06/2004, 11h39
  3. [PB CONCEPTUEL] avec compteur/trigger
    Par kase74 dans le forum SQL
    Réponses: 6
    Dernier message: 25/03/2004, 11h02
  4. Remise à 0 d'un compteur automatique
    Par missllyss dans le forum SQL
    Réponses: 4
    Dernier message: 15/12/2003, 16h46
  5. Migration Access > SQL Server (suite) : Compteur
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/03/2003, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo