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 :

La valeur la plus récente d'un champ (Access)


Sujet :

Access

  1. #1
    Membre habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut La valeur la plus récente d'un champ (Access)
    Bonjour
    Y'a t-il quelqu'un qui peut me décrire un code VBA qui me permet d'obtenir la valeur la plus récente (dernière valeur saisie) d'un champ nommé "Code_OF" qui est de type numérique et qui fait partie d'une table nommée "Ordre_de_fabrication" (cette table contient également un champ "date_OF")!!
    J'ai besoin de cette valeur car elle me permet de faire un calcul lors du passage d'un formulaire à un autre!!
    Merci d'avance
    Cordialement
    While the grass grows, the steer starves

  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.

    On peut (avec DMAX("TonChamp", "TaTable")mais ce n'est peut-être pas une bonne idée si ton application est utilisée par plusieurs personnes en même temps.
    Si tu as plusieurs utilisateurs, rien ne prouve que le dernier enregistrement soit celui que tu veux.
    Il vaudrait peut-être mieux trouver un moyen de transmettre cette information au moment où tu es sur que c'est la bonne.

    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 habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    D'abord merci
    Non mon application sera utilisée par une seule personne donc un tel problème ne se pose plus
    Toutefois cette dernière valeur je veux l'attribuer à une variable!! comment faire?
    While the grass grows, the steer starves

  4. #4
    Membre habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    Voici ça n'a pas marché:
    Nom : Capture.PNG
Affichages : 125
Taille : 3,6 Ko
    Nom : Capture1.PNG
Affichages : 117
Taille : 21,9 Ko
    While the grass grows, the steer starves

  5. #5
    Membre habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    Bah j'ai ajusté un peu le code comme suivant:
    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
    Private Sub suiviproduction_Click()
      'Ajout du contenu de la table "table_aux" dans la table "production"
        Dim oRst3 As DAO.Recordset  ' table en lecture
        Dim oRst4 As DAO.Recordset  ' table en ajout
        Dim nb As Long
        Dim oDb As DAO.Database
        Set oDb = CurrentDb
        Set oRst3 = oDb.OpenRecordset("SELECT * FROM table_aux", dbOpenSnapshot)
        Set oRst4 = oDb.OpenRecordset("SELECT * FROM Production", dbOpenDynaset)
        nb = Max("Code_OF", "Ordre_de_fabrication")
        While Not oRst3.EOF
             ' création nouvel enregistrement
                   oRst4.AddNew
                   oRst4![Code_face] = oRst3![CodeF]
                   oRst4![Date_changement] = oRst3![Date_changement]
                   'Avoir le code OF le plus récent et lui ajouter 1
                   oRst4![Code_OF] = nb + 1
             ' ... ici éventuellement les autres champs
                   oRst4.Update
                   oRst3.MoveNext
        Wend
        oRst3.Close
        oRst4.Close
        Set oRst3 = Nothing
        Set oRst4 = Nothing
        DoCmd.Close
        DoCmd.OpenForm "Suivi_de_la_production"
    End Sub
    et ça m'a donné comme msg d'erreur le suivant:
    Nom : Capture.PNG
Affichages : 127
Taille : 9,0 Ko
    Je pense que j'ai besoin d'une telle instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oRst = oDb.OpenRecordset("SELECT * FROM Ordre_de_fabrication", dbOpenSnapshot)
    Mais je sais pas comment!!!
    While the grass grows, the steer starves

  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
    Bonjour.

    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
    Membre habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    Oui je pense que je m’approche de la solution !! merci mais il y'a encore un msg d'erreur
    Nom : Capture.PNG
Affichages : 111
Taille : 6,2 Ko
    Je sais que je vous dérange mais j'ai vraiment besoin d'aide je suis débutante et mon sujet de PFE compte sur cette application

    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
    Private Sub suiviproduction_Click()
      'Ajout du contenu de la table "table_aux" dans la table "production"
        Dim oRst3 As DAO.Recordset  ' table en lecture
        Dim oRst4 As DAO.Recordset  ' table en ajout
        Dim nb As Long
        Dim oDb As DAO.Database
        Set oDb = CurrentDb
        Set oRst3 = oDb.OpenRecordset("SELECT * FROM table_aux", dbOpenSnapshot)
        Set oRst4 = oDb.OpenRecordset("SELECT * FROM Production", dbOpenDynaset)
        nb = Nz(DMax("Code_OF", "Ordre_de_fabrication"), 0)
        While Not oRst3.EOF
             ' création nouvel enregistrement
                   oRst4.AddNew
                   oRst4![Code_face] = oRst3![CodeF]
                   oRst4![Date_changement] = oRst3![Date_changement]
                   'Avoir le code OF le plus récent et lui ajouter 1
                   oRst4![Code_OF] = nb + 1
             ' ... ici éventuellement les autres champs
                   oRst4.Update
                   oRst3.MoveNext
        Wend
        oRst3.Close
        oRst4.Close
        Set oRst3 = Nothing
        Set oRst4 = Nothing
        DoCmd.Close
        DoCmd.OpenForm "Suivi_de_la_production"
    End Sub
    While the grass grows, the steer starves

  8. #8
    Membre habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    Bah je comprends le problème!! en fait la valeur du code_of doit être prise de la table "ordre de fabrication" et moi je veux faire entrer cette valeur dans la table "production" qui est en relation avec la table "ordre_de_fabrication" avant de la faire entrer dans la table "ordre_de_fabrication" c'est qui est impossible!!!!
    Mais moi j'ai besoin d'enter cette valeur avant!! y'a t-il un truc? ou je dois penser au problème autrement???
    While the grass grows, the steer starves

  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.

    ou je dois penser au problème autrement ?
    à mon avis oui.

    Peux-tu poster une copie d'écran de tes relations ? Je suis un peu mêlé par te description.

    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 habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    Oui bien suuuuuur

    Nom : Capture.PNG
Affichages : 114
Taille : 21,7 Ko
    While the grass grows, the steer starves

  11. #11
    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
    Merci, joli modèle très clair.

    De ton modèle il ressort que l'ordre de fabrication doit exister avant d'être ajouter à ta production.

    Quelles sont les étapes de ta saisie tel que tu les souhaites (pas forcément qui fonctionne actuellement) ?
    D'après ton modèle cela devrait être quelque chose comme :

    1. L'utilisateur créer un ordre de facturation.
    2. L'utilisateur choisi une production
    3. Le système transfert l'ordre de facturation dans la production.


    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.

  12. #12
    Membre habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    Merci, joli modèle très clair.
    Merci c'est gentil marrot

    D'après ton modèle cela devrait être quelque chose comme :

    1. L'utilisateur créer un ordre de facturation.
    2. L'utilisateur choisi une production
    3. Le système transfert l'ordre de facturation dans la production.
    En fait c'est ça et c'est pour cette raison que j'ai pensé à une autre solution pour gérer mes formulaires différemment
    J'espère que ça marche!!! Si non si je me bloque je reviens certainement sur ce forum
    Merci de nouveau pour votre temps
    While the grass grows, the steer starves

  13. #13
    Membre habitué Avatar de Massiliya
    Femme Profil pro
    Ingénieur en génie industriel
    Inscrit en
    Mars 2017
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur en génie industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 174
    Points : 152
    Points
    152
    Par défaut
    Bonjour Marrot
    Bah j'ai trouvé une solution différente et j'ai résolu le problème
    Mais j'ai un autre problème (je suppose qu'il est simple mais pas pour moi)
    En fait, je veux que seules les deux commandes "Code MP" et "Quantité" soit initialement vide à l'ouverture de mon formulaire càd comme le montre la figure ci dessous:
    Nom : Capture&.PNG
Affichages : 102
Taille : 54,0 Ko
    Pour le moment si j'ouvre le nouveau enregistrement j'aurais les valeurs du dernier enregistrement dans ces deux commande comme le montre la figure ci_dessou
    Nom : Capture.PNG
Affichages : 84
Taille : 50,8 Ko
    J'ai beaucoup essayer mais j'arrive pas à résoudre ce problème qui parait peut-être débil !!
    Merci d'avance
    Cordialement
    While the grass grows, the steer starves

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

    Peux-tu poster le code que tu utilises pour ouvrir le fichier ?

    Est-ce que tu souhaites pouvoir voir des données existantes ou seulement les nouvelles données ?

    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.

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

    Je ne dispose pas du temps nécessaire pour regarder dans ton application.

    Comme la question est différente de celle initiale, je t'invite à créer une nouvelle discussion pour elle, cela lui donnera plus de visibilité.

    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.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/08/2011, 10h47
  2. Réponses: 1
    Dernier message: 17/05/2011, 10h29
  3. [vXIr2] valeur la plus récente d'une table
    Par schkrumble dans le forum Designer
    Réponses: 5
    Dernier message: 02/02/2010, 14h29
  4. Affichage date plus récente dans requête champ expression
    Par sl1980 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 17/08/2007, 09h47
  5. [MySQL] Valeur la plus élevée d'un champ
    Par belzeluc dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/01/2007, 21h24

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