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 :

Méthode pour un formulaire de mise à jour


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Points : 29
    Points
    29
    Par défaut Méthode pour un formulaire de mise à jour
    Bonjour,

    j'utilise un formulaire avec un contrôle onglets
    et deux sous-formulaires incorporés.

    Je souhaite pouvoir utiliser la méthode undo
    pour annuler les modifications faites par un utilisateur.

    La simple méthode undo appliquée au formulaire principal
    ne semble pas avoir de conséquences sur tous les contrôles.

    Voyez-vous une solution à ce problème ?

    D'avance merci de vos réponses.

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    bonjour,

    tu peux peut-être utiliser undo lors de l'évènement clic sur les onglets.

    estancha.

  3. #3
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Je te suggère d'utiliser la propriété Dirty pour vérifier que le formulaire a été modifié.
    Dans ce genre de cas, perso, je met le SousForm.Locked à True avec un bouton Modifier. Cela me permet de 'flaguer' les interventions de l'utilisateur.
    Mais comme le dit estancha, tu dois l'appliquer à chaque sous formulaire mais en présisant le formulaire parent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!MonFormParent.form!SousForm!MonControl.Undo
    A+

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  4. #4
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 144
    Points : 166
    Points
    166
    Par défaut
    Slt,
    Pour ma part j'utilise rarement les formulaire en direct-record sur la table de "stockage". Je m'explique : en fait ce que je fais, je crée mon form sur une table-tampon qui est identique à la table destination et je mets un bouton genre valider ou ok en bas du form. Ainsi, tout est stocké sur la table provisoire et le transfer n'est fait qu'à la fin de la saisie par simple clic. Ainsi tu peux toujours revenir dans n'importe quelle case pour modifier ce que tu veux avant de valider.... Je ne sais pas si cela répond vraiment à ta question mais je pense en toute modestie que c'est également une manière de faire qui peut être interessante... ....
    ~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~
    Les choses les plus faciles...
    ...sont aussi les plus difficiles à trouver !

    ~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~

  5. #5
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Je suis d'accord avec DonFelipe....
    C'est une méthode que j'utilise plutôt sous SQL server.
    Bref, à toi de voir la solution la mieux adaptée.

    A+

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Déjà, merci à tous pour vos réponses.

    J'ai finalement opté pour la méthode proposée par DonFelipe,
    je passe désormais par des tables temporaires.
    Ca m'a fait un peu de boulot mais c'est clair que c'est
    nettement plus propre

  7. #7
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 144
    Points : 166
    Points
    166
    Par défaut
    ... t'a raison Argy, moi aussi j'ai pas mal bossé sur des appli basées sur SQL-Server ce qui fait que j'ai du avoir cette habitude qui est devenue un peu comme un reflexe... ...

    ...quant à Deviltaz, je suis content que mon t'ait servi même si ma reponse était un brin hors-sujet puisque je ne resolvais pas tout à fait la notion de UNDO.... .... mais bon le principal c'est que le shmilblik avance un minimum.... ....

    NB: n'oubliez pas la balise resolu une fois la question traitée....
    ~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~
    Les choses les plus faciles...
    ...sont aussi les plus difficiles à trouver !

    ~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Ta réponse était pas si hors-sujet que ça puisqu'elle m'a permis
    de régler mon problème et de m'apprendre une méthode meilleure
    que celle que je tentais de mettre en place.

    Et merci de m'avoir fait penser à la balise résolu

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    le transfer n'est fait qu'à la fin de la saisie par simple clic.
    Serait-il possible d'avoir une petite précision sur ce fameux transfert :

    En fait, j'applique la méthode de la table temporaire et lors de la validation,
    je lance une requête de type UPDATE pour mettre à jour les données
    de la table originale. Le hic c'est qu'avec une table conséquente en terme
    de nombres de champs, je dois faire une requête immense.

    Si il n'y a pas d'autres solutions, c'est faisable mais ça m'oblige
    à scinder en plusieurs requêtes :-?

    Je me demandais s'il n'y avait pas une meilleure méthode
    sachant que mes deux tables ont exactement la même structure.

    D'avance merci de vos réponses.

  10. #10
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Je me demandais s'il n'y avait pas une meilleure méthode
    sachant que mes deux tables ont exactement la même structure.
    Tu as essayé de supprimer la table d'origine et de renommer la table temporaire ?
    Développement Office, support technique, assistance, sur place (Loire atlantique, Vendée, Maine et Loire) ou à distance.

  11. #11
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 144
    Points : 166
    Points
    166
    Par défaut
    Serait-il possible d'avoir une petite précision sur ce fameux transfert :
    Slt,
    Quand j'ai écrit transfert je n'ai nullement parlé de requête... 8) ... en fait je parlais d'une "injection" grâce à du code qui se trouverait dans ton formulaire sur l'evenement clic de ton bouton de validation.
    Voici un exemple de code :

    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
    Private Sub btnOK_Click()
    DoCmd.SetWarnings False
    Dim dbas As Database
    Dim dtab As Recordset
    Set dbas = DBEngine.Workspaces(0).Databases(0)
    Set dtab = dbas.OpenRecordset("ASSURE", DB_OPEN_TABLE)
    If chnumero <> "" Then
        With dtab
            .AddNew
            ![N° Assure] = chnumero
            ![Nom Prenom] = chnom
            ![Adresse1] = chadr1
            ![Adresse2] = chadr2
            ![Code Postal] = chCP
            ![Ville] = chville
            ![N° Secu Social] = chSECU
            ![Date Creation] = chDATE
             .Update
        End With
    End If
    DoCmd.RunSQL "delete * from ASSURETempo"
        [chnumero] = Null
        [chnom] = Null
        [chadr1] = Null
        [chadr2] = Null
        [chCP] = Null
        [chville] = Null
        [chSECU] = Null
    DoCmd.SetWarnings True
    End Sub
    Voili voilou...
    Ici ma table definitive de "stockage" s'appelle ASSURE est celle temporaire s'appelle ASSURETempo, mais ça je crois que tu l'avais bien compris mon cher Deviltaz...

    Allez, au boulot !!!
    ~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~
    Les choses les plus faciles...
    ...sont aussi les plus difficiles à trouver !

    ~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Appliqué à mon problème,
    j'utilise la méthode Edit à la place de AddNew

    Merci beaucoup de ces renseignements
    qui m'auront permis d'apprendre une méthode
    plus propre pour faire de l'édition et de la création
    d'enregistrements sous Access.

  13. #13
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 144
    Points : 166
    Points
    166
    Par défaut
    ...je suis content que nos réponses t'aient été utiles...
    Bon courage et tiens nous au courant de tes avancements...
    ~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~
    Les choses les plus faciles...
    ...sont aussi les plus difficiles à trouver !

    ~-~-~-~-~-~-~-~~-~-~-~-~-~-~-~-~

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

Discussions similaires

  1. [FLASH 8] Formulaire de Mise à jour Flash/Php
    Par achos dans le forum Flash
    Réponses: 3
    Dernier message: 05/04/2007, 18h48
  2. [Conception] Formulaire de mise à jour planté
    Par Jiraiya42 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 11/10/2006, 22h50
  3. Réponses: 2
    Dernier message: 25/09/2006, 17h24
  4. organisation d'un formulaire de mise à jour
    Par lifecraft dans le forum ASP
    Réponses: 26
    Dernier message: 24/02/2006, 17h36
  5. Formulaire et mise à jour du sous-formulaire
    Par ana2sb dans le forum Access
    Réponses: 1
    Dernier message: 23/09/2005, 11h39

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