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

IHM Discussion :

Insertion problématique d'un champ de formulaire dans un état


Sujet :

IHM

  1. #1
    Membre régulier Avatar de patou9999
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 131
    Points : 80
    Points
    80
    Par défaut Insertion problématique d'un champ de formulaire dans un état
    Bonjour à tout le forum !

    Avant toute chose, je vous souhaite à tous une excellente année 2020, avec beaucoup de santé (indispensable), de bonheur, et toute la réussite possible dans vos projets.

    Je joins à ce message un pdf de 2 pages pour vous expliquer mon souci.

    Tout d'abord, dans mon formulaire (page1), aucun problème, j'ai réussi, grâce à vous, il y a quelques temps, à créer un incrément automatique qui numérote mes factures comme je le souhaite.
    A savoir : F, puis le N° de l'année, puis le N° d'ordre, par exemple, la 1ère facture 2020 sera : F20001
    C'est un champ rajouté, que j'ai appelé Numfact, qui n'existe pas dans les tables, et qui permet d'obtenir cet incrément.
    Jusque là tout va bien.

    Ensuite (page 2), j'ai fait une requête que j'ai appelé (facture), qui va rechercher tous les champs qu'il faut pour remplir la facture, mais, bine évidemment, je ne peux pas trouver ce fameux champ Numfact, bien sûr, puisque c'est un champ rajouté dans le formulaire, qui n'appartient à aucune table.
    J'ai bien essayé dans la requête, et même dans la table, de créer un champ calculé pour obtenir cet incrément, mais hélas, pas moyen.

    Auriez-vous un chemin à m'indiquer pour récupérer ce fameux champ de formulaire, pour ensuite, le mettre dans mon état : FACTURE ?

    Un très grand merci par avance pour tout et pour le temps que voudrez bien m'accorder.

    Soyez simple, je vous en prie, je suis formateur, je connais peu la technique, et il faut m'expliquer simplement.
    Merci encore et grandement pour vos réponses.

    Très cordialement, en vous souhaitant une très bonne journée

    ACCESS - INCREMENT POUR FACTURE.pdf

    Patrick
    La structure, encore la la structure et toujours la structure....
    La rigueur et la méthode sont les deux piliers colossaux de l'architecture d'une oeuvre. (J.S.BACH)

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut,
    Vous confirmez que le champ NumFact du sform FACTURATION2 est une textbox indépendante ?
    Sinon, une méthode pour que NumFact soit un champ de votre tbl FACTURATION2 et qu'il s'incrémente durant une année N et RAZ à chaque nouvelle année.
    La solution en images en créant une Macro de données.
    Dans votre tbl de référence il faut ajouter un champ indice de type numérique entier long et numfact de type textcourt
    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

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    Tout d'abord, dans mon formulaire (page1), aucun problème, j'ai réussi, grâce à vous, il y a quelques temps, à créer un incrément automatique qui numérote mes factures comme je le souhaite.
    A savoir : F, puis le N° de l'année, puis le N° d'ordre, par exemple, la 1ère facture 2020 sera : F20001
    C'est un champ rajouté, que j'ai appelé Numfact, qui n'existe pas dans les tables, et qui permet d'obtenir cet incrément.
    Jusque là tout va bien.
    Auriez-vous un chemin à m'indiquer pour récupérer ce fameux champ de formulaire, pour ensuite, le mettre dans mon état : FACTURE ?
    c'est possible de faire référence à un champ de formulaire dans la requête ou un contrôle de l'état:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' pour la requête:
    Num_Fact: Formulaires![NomduFormulaire].[Numfact]
    ' ou pour la source du contrôle dans l'état:
    = Formulaires![NomduFormulaire].[Numfact]
    si c'est un sous formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' pour la requête:
    Num_Fact: Formulaires![NomduFormulaire].[NomduSousFormulaire].Form.[Numfact]
    ' ou pour la source du contrôle dans l'état:
    = Formulaires![NomduFormulaire].[NomduSousFormulaire].Form.[Numfact]
    mais il faut bien, à un moment donné, enregistrer ce numéro de facture dans une table, car sinon comment la retrouver une fois qu'elle sera imprimée si il n'y a pas de lien entre ce numéro et les tables concernées ?
    Car, d'un point de vue fiscal et comptable, il me semble qu'il faut pouvoir restituer numériquement les éléments qui ont généré ces factures.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Membre régulier Avatar de patou9999
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 131
    Points : 80
    Points
    80
    Par défaut
    j'ai fait tout ce que vous m'avez montré au niveau de la macro
    J'ai réussi, j'ai remplacé parfois le nom des champs et le nom de ma table.
    Mais, c'est complètement inopérant, rien ne se passe.
    La structure, encore la la structure et toujours la structure....
    La rigueur et la méthode sont les deux piliers colossaux de l'architecture d'une oeuvre. (J.S.BACH)

  5. #5
    Membre régulier Avatar de patou9999
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 131
    Points : 80
    Points
    80
    Par défaut
    Mon formulaire s'appelle FACTURATION
    Et j'ai deux sous formulaires : FACTURATION1 et FACTURATION2
    C'est dans FACTURATION2 que je dois aller chercher le champ Numfact
    J'ai essayé votre syntaxe, en remplaçant par mes noms, rien ne se passe.

    Nom : f1.jpg
Affichages : 123
Taille : 181,0 Ko

    Nom : f2.jpg
Affichages : 134
Taille : 172,3 Ko
    La structure, encore la la structure et toujours la structure....
    La rigueur et la méthode sont les deux piliers colossaux de l'architecture d'une oeuvre. (J.S.BACH)

  6. #6
    Membre régulier Avatar de patou9999
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 131
    Points : 80
    Points
    80
    Par défaut Insertion problématique d'un champ de formulaire dans un état
    J'ai essayé, de mon côté, quelque chose et je bute sur une simple bêtise.

    Je joins en copie une base avec seulement la table facture.

    J'ai extrait l'année de chaque date de facture, et les deux derniers chiffres de l'année.

    J'ai créé des champs calculés pour concaténer les lettres "FC" (facture) et l'année, j'y arrive. (exemple FC20
    j'ai trouvé aussi, comment faire pour obtenir le N° auto sur 3 chiffres. (exemple 001)

    Mais quand je concatène ces deux champs calculés : FC20 et 001, j'obtiens une erreur, et no pas, comme j'aimerais tant : FC20001

    Auriez-vous une idée ?

    Merci infiniment pour votre patience.

    Database11.rar
    La structure, encore la la structure et toujours la structure....
    La rigueur et la méthode sont les deux piliers colossaux de l'architecture d'une oeuvre. (J.S.BACH)

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Re,
    Je regarde votre bdd.
    J'ai viré les champs calculés qui ne servent absolument à rien et qui sont toujours source d'erreurs.
    Et il fallait ajouter le champ indice comme indiqué dans mon précédent post.
    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

  8. #8
    Membre régulier Avatar de patou9999
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 131
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Re,
    Je regarde votre bdd.
    J'ai viré les champs calculés qui ne servent absolument à rien et qui sont toujours source d'erreurs.
    Et il fallait ajouter le champ indice comme indiqué dans mon précédent post.
    Je vois maintenant comment cela fonctionne et j'ai bien regardé la syntaxe de la macro pour voir comment elle était construite.
    Merci infiniment, car, grâce à vos lumières, je vais avoir un champ qui sera présent dans la table facture et qu'il me suffira de mettre dans ma requête facture, de façon à ce qu'il apparaisse dans l'état facture.
    Du coup, j'aurai une historique des factures.

    Merci encore, et vraiment.
    très bonne soirée.
    La structure, encore la la structure et toujours la structure....
    La rigueur et la méthode sont les deux piliers colossaux de l'architecture d'une oeuvre. (J.S.BACH)

  9. #9
    Membre régulier Avatar de patou9999
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 131
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Re,
    Je regarde votre bdd.
    J'ai viré les champs calculés qui ne servent absolument à rien et qui sont toujours source d'erreurs.
    Et il fallait ajouter le champ indice comme indiqué dans mon précédent post.
    Je vous joins en PDF, des impressions d'écran.
    Votre macro va très bien sur la base que vous m'avez renvoyée.
    Je l'ai donc transposée sur la mienne, en insérant les champs, avec les bons types de champ que vous m'avez indiqués. (page 1 - Table FACTURES)

    J'ai saisi la macro, en modifiant simplement "Datefacture" au lieu de "DateFacture", car c'est ainsi que sur ma base ce champ s'appelle.
    La macro est OK, Access me la valide sans erreurs (page 2 - Macro)

    Je sors de la macro une fois sauvegardée et je sauvegarde la table.
    Puis je reviens en mode feuille de données, et je saisis une date, je passe un à un les champs par des tabulations de gauche à droite, et, à la fin de la ligne, il me met le message d'erreur que vous voyez (page3)
    Il me dit que la macro est invalide et je dois la recommencer.

    J'ai alors pensé que, peut-être, comme les factures, auparavant, n'avaient pas encore cet incrément automatique, il fallait que je me positionne sur la première ligne de la table (premier enregistrement) pour que la macro puisse agir ligne après ligne.
    Hélas, rien. Toujours pareil.
    Il me dit que la macro est invalide et je dois la recommencer.

    Avez-vous une piste qui me permettrait d'avancer ?

    On croirait, mais je peux me tromper sûrement, que la macro marche sur votre base car il n'y a que les champs concernés par la macro, moi, j'en ai davantage, ou bien est-ce qu'Access est gêné car, j'ai déjà des enregistrements présents dans la table.

    Merci infiniment par avance.

    Très cordialement


    Incrément.pdf
    La structure, encore la la structure et toujours la structure....
    La rigueur et la méthode sont les deux piliers colossaux de l'architecture d'une oeuvre. (J.S.BACH)

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Re,
    Pourriez-vous m'indiquer comment vous avez créé la macro FACTURES (page2 de votre dernier pdf) ?
    - avez-vous ouvert la tbl FACTURES pour cliquer sur l'onglet Table puis l'icône Avant insertion
    ou
    - avez vous cliqué sur l'onglet Créer, puis l'icône Macro ?
    "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

  11. #11
    Membre régulier Avatar de patou9999
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 131
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Re,
    Pourriez-vous m'indiquer comment vous avez créé la macro FACTURES (page2 de votre dernier pdf) ?
    - avez-vous ouvert la tbl FACTURES pour cliquer sur l'onglet Table puis l'icône Avant insertion
    ou
    - avez vous cliqué sur l'onglet Créer, puis l'icône Macro ?


    J'ai ouvert la table FACTURES, puis, je vous montre sur l'image jointe.


    Nom : macro.jpg
Affichages : 126
Taille : 231,2 Ko
    La structure, encore la la structure et toujours la structure....
    La rigueur et la méthode sont les deux piliers colossaux de l'architecture d'une oeuvre. (J.S.BACH)

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Bonsoir
    L'erreur 3952 (voir libellé msg d'erreur de votre pdf) indiquerait un problème dans la structure de la macro de données (doc Ms 272 pages et en british).
    - soit vous créez une nouvelle table pour construire à nouveau la macro de données
    - soit on passe en vba. Dans ce cas :
    - ouvrir en mode création le sform qui contient le champ Datefacture. Assurez-vous que dans la tbl source et dans le sform de la présence du champ indice et numfact.
    - sélectionnez la textbox Datefacture dans votre sform
    - sur l'évènement Après MAJ (générateur du code), passez ce qui suit :
    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
    Private Sub Datefacture_AfterUpdate()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
     
    Set dbs = CurrentDb
     
    If Me.NewRecord Then
        Set rst = dbs.OpenRecordset("SELECT Max(indice) FROM FACTURES WHERE Year(Datefacture) = " & Year(Me.Datefacture) & "")
            With rst
                If Not .EOF Then
                Me!indice.Value = Nz(.Fields(0).Value, 0) + 1
                Else
                Me!indice.Value = 1
                End If
                .Close
            End With
    End If
        Me.numfact.Value = "FC" & Format(Datefacture, "yy") & Format(indice, "00")
    End Sub
    "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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/04/2009, 00h11
  2. insertion d'un champ de formulaire dans la table
    Par papagei2 dans le forum IHM
    Réponses: 3
    Dernier message: 17/12/2008, 21h42
  3. récupérer valeur champ libre formulaire dans un état
    Par stagolee dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/01/2008, 13h18
  4. [Formulaire/SQL] Evaluer un champ du formulaire dans un LIKE
    Par timathias dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/04/2007, 19h29
  5. Valeur d'un champ de formulaire dans un mail
    Par Guranga dans le forum IHM
    Réponses: 2
    Dernier message: 08/06/2006, 12h57

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