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

Access Discussion :

Numérotation automatique personnalisée [AC-2013]


Sujet :

Access

  1. #1
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Numérotation automatique personnalisée
    Salut membres du forum!
    Je suis intéressé par le tutoriel de Christophe WARIN: https://warin.developpez.com/tutorie...s/numauto2010/
    "Numérotation personnalisée des enregistrements dans Access 2010".
    Je souhaiterais savoir plus de détails concernant la réalisation des formulaires "TblClient" et "TblFacture",
    ensuite connaître les différents Evénements d'où doit on placer les codes.
    Franchement, je ne comprends pas bien les explications du tutoriel en question.

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  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.

    Franchement, je ne comprends pas bien les explications du tutoriel en question.
    Peux-tu indiquer les points en particulier qui te posent un probleme ?

    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
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir Membres du forum!
    1°) Doit on créer des formulaires "TblClient" et "TblFacture" chacun,
    ou un formulaire indépendant dans lequel les deux tables sont représentées ?
    Voir image: Nom : CaptureFrmNumAutoPerson.PNG
Affichages : 1081
Taille : 87,9 Ko
    2°) l'évènement ValidateChange correspond à quel événement de quel formulaire ?
    3°) le champ txtNumFacture doit etre placé où ?
    4°) les codes suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "FA" &
    Right$(Year([DateFacture]);2) &
    String$(2-Len(Month([DateFacture]));"0") & Month([DateFacture]) & String$(3-Len([Indice]);"0") &
    [Indice]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Max(Indice)+1 AS NOUVELINDICE, Year(DateFacture) AS ANNEE, Month(DateFacture) AS MOIS
    FROM TblFacture
    GROUP BY Year(DateFacture), Month(DateFacture);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SetLocalVar (VIndice;1)
    LookUp A Record In qryNouvelIndice
    WHERE [ANNEE]=Year([tblFacture].[DateFacture]) AND [MOIS]=Month([tblFacture].[DateFacture])
    ALIAS record
    SetLocalVar(vIndice;Nz(NouvelIndice,1))
    SetField ([Indice];[vIndice]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If [IsInsert] Then
    SetLocalVar (VIndice;1)
    LookUp A Record In qryNouvelIndice
    WHERE [ANNEE]=Year([tblFacture].[DateFacture]) AND
    [MOIS]=Month([tblFacture].[DateFacture])
    ALIAS record
    SetLocalVar(vIndice;Nz(NouvelIndice,1))
    SetField ([Indice];[vIndice])
    End If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    =IIf(
    [NewRecord];
    "FA" &
    Format(Nz([DateFacture]);"yymm") &
    Format(
    Nz
    (
    DMax(
    "Indice";
    "tblFacture";
    "Format([DateFacture],""yymm"")=" & Chr(34) & Format(Nz([txtDateFacture]);"yymm") & Chr(34)
    )+1;
    1
    );
    "000"
    );
    [NumeroFacture])
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    If [IsInsert] Then
    SetLocalVar (VIndice;1)
    LookUp A Record In tblIndiceFacture
    WHERE [ANNEE]=Year([tblFacture].[DateFacture]) AND
    [MOIS]=Month([tblFacture].[DateFacture])
    ALIAS record
    If (IsNUll([Indice]) Then
    SetLocalVar([vIndice];1)
    Else
    SetLocalVar([vIndice];[Indice]+1)
    End If
    SetField ([Indice];[vIndice])
    End If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Look Up A Record In tblIndiceFacture
    Where [ANNE]=Year([tblFacture].[DateFacture])
    AND [Mois]=Month([tblFacture].[DateFacture])
    Alias record
    If IsNull([Indice]) Then
    Create a Record In tblIndiceFacture
    Alias rec_NouvelIndice
    SetField(Annee;Year([tblFacture].[DateFacture]))
    SetField(Mois;Month([tblFacture].[DateFacture]))
    SetField(Indice;1)
    Else
    Edit Record
    Alias record
    SetField(Indice;Indice+1)
    End If
    sont placés dans quels événements ?
    Mon objectif est de comprendre le fonctionnement des leçons publiées à partir de www.developpez.net
    et être capable de les appliquer.
    - Pièce jointe
    Merci infiniment pour tout.
    Cordialement
    Fichiers attachés Fichiers attachés
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  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,
    Le tuto auquel vous faites référence évoque les DataMacro.
    Pour en savoir un peu plus ici ou
    "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
    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
    Citation Envoyé par morobaboumar Voir le message
    Bonsoir Membres du forum!
    1°) Doit on créer des formulaires "TblClient" et "TblFacture" chacun,
    ou un formulaire indépendant dans lequel les deux tables sont représentées ?
    Voir image: Nom : CaptureFrmNumAutoPerson.PNG
Affichages : 1081
Taille : 87,9 Ko
    Je pense que c'est un formulaire base sur la table des factures qui affiche (par jointure probablement) les informations du client en function du numero choisi.

    2°) l'évènement ValidateChange correspond à quel événement de quel formulaire ?
    ValidateChange n'est pas un evenment, c'est probablement une sub ou une function ecrite par l'auteur.

    3°) le champ txtNumFacture doit etre placé où ?
    Sur le formulaire facture.

    4°) les codes suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "FA" &
    Right$(Year([DateFacture]);2) &
    String$(2-Len(Month([DateFacture]));"0") & Month([DateFacture]) & String$(3-Len([Indice]);"0") &
    [Indice]
    Calcule le numero personalise compose de l'annee sur 2 chiffres, du mois sur 2 chiffres et d'un indice sur 3 chiffres.
    On aurait pu faire plus simple en utilisant Format("yyyy\-mm", [DateFacture]) & Format("000", [Indice]).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Max(Indice)+1 AS NOUVELINDICE, Year(DateFacture) AS ANNEE, Month(DateFacture) AS MOIS
    FROM TblFacture
    GROUP BY Year(DateFacture), Month(DateFacture);
    Trouve le prochain numero du mois et de l'annee.

    Je te reviens pour la suite.

    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.

  6. #6
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SetLocalVar (VIndice;1)
    LookUp A Record In qryNouvelIndice
    WHERE [ANNEE]=Year([tblFacture].[DateFacture]) AND [MOIS]=Month([tblFacture].[DateFacture])
    ALIAS record
    SetLocalVar(vIndice;Nz(NouvelIndice,1))
    SetField ([Indice];[vIndice]
    Ce doit etre une macro de donnees.
    Cela assigne le nouvel indice dans le champ de la table.
    Probablement appele au moment de l'insertion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If [IsInsert] Then
    SetLocalVar (VIndice;1)
    LookUp A Record In qryNouvelIndice
    WHERE [ANNEE]=Year([tblFacture].[DateFacture]) AND
    [MOIS]=Month([tblFacture].[DateFacture])
    ALIAS record
    SetLocalVar(vIndice;Nz(NouvelIndice,1))
    SetField ([Indice];[vIndice])
    End If
    Ce doit etre une macro de donnees.
    C'est un "enrobage" du code precedent associe a l'insertion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    =IIf(
    [NewRecord];
    "FA" &
    Format(Nz([DateFacture]);"yymm") &
    Format(
    Nz
    (
    DMax(
    "Indice";
    "tblFacture";
    "Format([DateFacture],""yymm"")=" & Chr(34) & Format(Nz([txtDateFacture]);"yymm") & Chr(34)
    )+1;
    1
    );
    "000"
    );
    [NumeroFacture])
    Calcule un numero "probale" de facture si on est sur un nouvel enregistrement ou affiche le numero courant.

    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.

  7. #7
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Look Up A Record In tblIndiceFacture
    Where [ANNE]=Year([tblFacture].[DateFacture])
    AND [Mois]=Month([tblFacture].[DateFacture])
    Alias record
    If IsNull([Indice]) Then
    Create a Record In tblIndiceFacture
    Alias rec_NouvelIndice
    SetField(Annee;Year([tblFacture].[DateFacture]))
    SetField(Mois;Month([tblFacture].[DateFacture]))
    SetField(Indice;1)
    Else
    Edit Record
    Alias record
    SetField(Indice;Indice+1)
    End If
    Encore une macro de donnees

    Calcule l'indice mensuel et cree un enregistrement si il n'existe pas d'indice pour le mois et l'annee.


    Les macros de donnees se font au niveau des tables elles-meme.

    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.

  8. #8
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonjour membres du forum !
    J'aimerais savoir si:
    - le cadre Client entouré en bleu est il un contrôle groupe d'options ?
    - le contrôle entouré en rouge est il une zone de liste déroulante ?
    Voir image:Nom : CaptureClient.PNG
Affichages : 1043
Taille : 73,0 Ko

    Pourriez vous m'aider en expliquant pas à pas la création des différentes macros (avec images) à l'appui se trouvant dans le tutoriel ?

    enfin je vous signale que j'ai pris connaissance de la création des macros à partir des liens que m'a indiqué hyperion13:
    https://support.office.com/fr-fr/art...d-f296ef834200 et https://support.office.com/fr-fr/art...8-9ff5f81eb7ff.

    Franchement, je sollicite votre aide encore une fois pour me permettre à bien comprendre et les appliquer.

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  9. #9
    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.

    Citation Envoyé par morobaboumar Voir le message
    Bonjour membres du forum !
    J'aimerais savoir si:
    - le cadre Client entouré en bleu est il un contrôle groupe d'options ?
    - le contrôle entouré en rouge est il une zone de liste déroulante ?
    Voir image:Nom : CaptureClient.PNG
Affichages : 1043
Taille : 73,0 Ko
    C'est problement un rectangle avec une etiquette pour afficher "Client".
    Les groupes de donnees affichent habituellement des cases a cocher, des boutons radio ou des boutons bascule.

    Pour l'autre controle entoure en rouge, comme il y a un triangle vers le bas a droite, c'est probablement une liste deroulante, basee sur la table des clients.
    Et cela parait logique puisque pour la creation d'une facture il faut choisir un client.

    Pour la partie "Macro de donnees", desole mais je ne peux pas aider.

    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.

  10. #10
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Salut !
    Merci infiniment, je continue la recherche de solution à mon problème.
    Toutes mes reconnaissances pourr les coups de mains que vous m'apportez.
    Cordialement
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  11. #11
    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
    A priori ValidateChange correspond à l'évènement AvantModification dans les macros de données.
    L'image en attache correspond au code dans de III-A. DataMacro // L'appel à la propriété IsInsert avant ...

    EDI : 22:22 - III-C. Intérêt d'une table supplémentaire // Le code de l'évènement ValidateChange devient alors : ... ET Enfin, l'évènement de table AfterInsert se ...
    Images attachées Images attachées    
    "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

  12. #12
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Salut membres du forum!
    Voici ce que j'ai réussi à réaliser à partir de vos suggestions écrites et images;
    voir la pièce jointe: - NumAuto2010 (je vous rappelle que je travaille avec la version 2013 d'Access)
    Frm:"TblFacture"
    Voir les images d'erreurs:Nom : ErreurApresClickSurCmdValider.PNG
Affichages : 621
Taille : 47,3 Ko: l'indicateur "Indice" est introuvable.

    Cordialement.
    Fichiers attachés Fichiers attachés
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  13. #13
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Salut !
    L'interface de saisie d'une nouvelle facture sera identique à celle décrite pour Access 2007. Nous vous proposons de
    nous attarder à la définition d'une stratégie permettant à l'utilisateur de visualiser le numéro du document en cours de
    création. En effet, la tâche est plus complexe qu'il n'y parait. L'évènement de table étant déclenché après la validation
    des données dans le formulaire, il est impossible d'afficher en temps réel l'indice calculé dans la DataMacro vue plus
    haut. La mission va donc consister à présenter un numéro de facture probable et de le comparer en fin de traitement
    avec celui effectivement inscrit dans la base de données.
    Dans cette optique, un champ nommé txtNumFacture possédant l'expression suivante comme source peut suffire :
    Pourriez vous, s'il vous plait m'indiquer où introduire le code suivant ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VraiFaux([NewRecord];"FA" & Format(Nz([DateFacture]);"""yy""mm") & Format([Nz](MaxDom("Indice";"tblFacture";"Format([DateFacture],""yymm"")=" & Car(34) & Format(Nz([txtDateFacture]);"""yy""mm") & Car(34))+1;1);"000");[NumeroFacture])
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  14. #14
    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
    Attention ! Dans le tuto de Warin vous avez un mix entre ce que l'on pourrait faire en vba et ce que l'on peut faire avec les macros de données.
    Vous utilisez les 2 tout à la fois, donc forcément ça coince un peu.
    Une solution imagée en version simplifiée. Recopiez l'image2 dans votre tblFacture. Supprimez la tblIndicefacture et la req qryNouvelIndice, elles ne servent plus à rien.
    Dans votre form Facture :
    - ne garder que la procédure sur click de votre bouton. Les autres à supprimer.
    - supprimez les zones de texte txtnumfacture et indice, elles ne servent à rien.
    - quel intérêt d'avoir 2 listes déroulantes client ?
    Images attachées Images attachées   
    "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

  15. #15
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir membres du forum!
    J'ai opéré les changements tels que vous me les avez conseillés.
    Voici les messagers d'erreur qui surviennent (voir images):

    Nom : CaptureErreurL'Indicateur_NewRecord_est_Introuvable.PNG
Affichages : 600
Taille : 33,7 Ko
    Nom : CaptureCmdClick.PNG
Affichages : 596
Taille : 27,2 Ko

    = pièce jointe à l'appui.

    Cordialement!
    Fichiers attachés Fichiers attachés
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  16. #16
    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
    Pourtant cela fonctionne parfaitement.
    Votre erreur provient très certainement du code source de votre zone de texte txtNumfacture de votre post#13 (identificateur introuvable [NewRecord])
    En pj, le fichier xml de la macro de données et la Sub pour l'importer dans votre tbl.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ImportXml()
    LoadFromText acTableDataMacro, "tblFacture", "C:\Users\......\tblFacture.xml"
    End Sub
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    "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

  17. #17
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir membres du forum!
    Attention ! Dans le tuto de Warin vous avez un mix entre ce que l'on pourrait faire en vba et ce que l'on peut faire avec les macros de données.
    Vous utilisez les 2 tout à la fois, donc forcément ça coince un peu.
    Une solution imagée en version simplifiée. Recopiez l'image2 dans votre tblFacture. Supprimez la tblIndicefacture et la req qryNouvelIndice, elles ne servent plus à rien.
    Dans votre form Facture :
    - ne garder que la procédure sur click de votre bouton. Les autres à supprimer.
    - supprimez les zones de texte txtnumfacture et indice, elles ne servent à rien.
    - quel intérêt d'avoir 2 listes déroulantes client ?
    J'avais confondu les deux catégories de codage: VBA et Macro de données. Surtout j'ignorais comment faire le code
    avec les macros de données.
    Vos conseils et leçons je les ai bien comprises. J'espère mieux en connaître plus.
    Code VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Option Compare Database
    Option Explicit
    Dim vNumFacture As String
     
    Private Sub CmdAjout_Nouveau_Client_Click()
    On Error GoTo OUMAR
        Dim stDocName As String
        Dim stLinkCriteria As String
        stDocName = "Tbl_Client"
        DoCmd.OpenForm stDocName ', , , stLinkCriteria
    Exit Sub
    OUMAR:
        MsgBox Err.Description
     
    End Sub
     
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim oRst As DAO.Recordset
    If Me.NewRecord Then
    Set oRst = CurrentDb.OpenRecordset( _
    "SELECT Max(Indice) FROM tblFacture WHERE Format(DateFacture,""yymm"")=" & _
    Chr(34) & Format(Me.DateFacture, "yymm") & Chr(34))
    With oRst
    If Not .EOF Then
    Me.Indice.Value = Nz(.Fields(0).Value, 0) + 1
    'Essai d'Oumar pour voir si la ligne suivante de code marche:
    Me.NumeroFacture = "FA" & Right$(Year([DateFacture]), 2) & String$(2 - Len(Month([DateFacture])), "0") & Month([DateFacture]) & String$(3 - Len([Indice]), "0") & [Indice]
    Else
    Me.Indice.Value = 1
    'Essai d'Oumar pour voir si la ligne suivante de code marche:
    Me.NumeroFacture = "AUCUNE FACTURE DISPONIBLE POUR LE MOMENT !"
    End If
    .Close
    End With
    End If
    End Sub
     
     
    Private Sub cmdValider_Click()
    Me.Refresh
    End Sub
    et
    Image Macro de Données:Nom : CaptureMacroDonnees.PNG
Affichages : 600
Taille : 22,6 Ko
    - pièces jointes
    Je sollicite vos remarques et suggestions quant à ma conclusion.
    Merci infiniment
    Fichiers attachés Fichiers attachés
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  18. #18
    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
    Si vous me demandez un avis tranché quant à savoir laquelle des 2 méthodes est la plus efficace, je n'en ai pas.
    Les 2 méthodes requièrent malgré tout des connaissances, même basiques.

    Par contre :
    - vous pouvez remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NumeroFacture = "FA" & Right$(Year([DateFacture]), 2) & String$(2 - Len(Month([DateFacture])), "0") & Month([DateFacture]) & String$(3 - Len([Indice]), "0") & [Indice]
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NumeroFacture = "FA" & Format([DateFacture];"yymm") & Format([Indice];"000")
    puisque vous êtes sous Ac2013

    - le code produit est formaté de la même façon, a priori, que le NumeroFacture. Vous pourriez vous amuser à générer le code, au choix VBA ou macros de données.

    - dans le formFacture, la liste déroulante NumClient dans le cadre Client n'est pas correctement paramétrée puisqu'elle ne permet pas en l'état de sélectionner une valeur. Sa Source contrôle doit être tblFacture.IDClient et son Contenu (SELECT IDclient FROM Tbl_Client). Dans ce cas, vous devez supprimer la zone de texte IDClient dans le cadre Facture.
    "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

  19. #19
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Remerciement
    Salut membres du forum !
    C'est avec beaucoup de bonheur que je vous adresse tous mes reconnaissances,
    particulièrement à

    marot_r et
    hyperion13



    A bientôt pour une nouvelle discussion.

    Mon problème résolu.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Numérotation automatique personnalisée
    Par 24071959 dans le forum Access
    Réponses: 24
    Dernier message: 26/03/2015, 15h38
  2. [AC-2007] Numérotation Automatique personnalisée
    Par Rogatic dans le forum VBA Access
    Réponses: 7
    Dernier message: 26/06/2012, 12h55
  3. Numérotation automatique personnalisée
    Par pat_che dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/01/2008, 09h05
  4. Numérotation automatique personnalisée
    Par Nancyfr dans le forum Access
    Réponses: 0
    Dernier message: 24/07/2007, 09h52
  5. Numérotation Automatique Personnalisée
    Par Dhumkazaar dans le forum Access
    Réponses: 4
    Dernier message: 10/05/2006, 20h34

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