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 :

Mise à jour formulaire [AC-2003]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Mise à jour formulaire
    bonjour,

    j'ai créé un formulaire à partir d'une requête basée sur une table, sur ladite table, un champ s'appelle <DELETE>, ce champ apparait ensuite sur le formulaire en tant que <case à cocher>, quand le user appelle le formulaire, il est supposé cocher les enregistrements à supprimer et ensuite appuyer sur un bouton appelé <SUPPRIMER> afin de lancer la procédure suivante:

    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
    Sub ProcessDeleteLines()
     
        Dim FrmTemp As Form
        Dim strTempQuery As String
        Dim strYear As String
        Dim MaBd(10) As Database
        Dim Rs(10) As Recordset
        Dim MySQL(10) As String
        Dim strTemp As String
     
        Set FrmTemp = Forms![Frm_ImportAdjustmentSales]
        Set MaBd(1) = CurrentDb
        Set Rs(1) = MaBd(1).OpenRecordset(strTempQuery)
     
            Rs(1).MoveFirst
                strYear = Rs(1)![FiscalYear]    'pour déterminer l'année à supprimer
            Rs(1).Close
     
            MySQL(0) = "" & _
                "DELETE [" & strTemp & "].[Delete], [" & strTemp & "].[FiscalYear] " & _
                "FROM [" & strTemp & "] " & _
                "WHERE ((([" & strTemp & "].[Delete])=True) " & _
                "AND (([" & strTemp & "].[FiscalYear])='" & strYear & "'));"
            DoCmd.RunSQL MySQL(0)
     
        FrmTemp.Requery
        FrmTemp.Refresh
        FrmTemp.Repaint
     
    End Sub
    malheureusement, une fois la fonction terminée, mes enregistrements ont bien été supprimés de la table mais sur le formulaire à l'écran, les lignes des enregistrements supprimés apparaissent toujours, mais avec écrit à la place <supprimé>.

    comment dois-je définir mon code afin que ces lignes aient disparus à la fin?

    autre petit souci, quand je clique sur 3 enregistrements et que le pointeur reste sur la case à cocher du 3ème enregistrement, ce dernier ne se supprime pas!

    comment faire pour que, même si le user ne change pas le pointeur de place dans le formulaire, ce 3ème enregistrement soit également pris en compte dans la query de suppression?

    d'avance un GRAND merci à qui pourra m'aider.....

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour.

    Suggestion :Pierre

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    tu dois peut-être pendant la procédure déconnecter le formulaire de la source de données.
    Essaie un truc dans le genre de ceci

    Pour l'exemple, la source de données du formulaire est soit une table, soit une requête mais pas du code SQL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub ProcessDeleteLines()
     Dim FrmRecordSource As String
     'Sauvegarde de la source de données du formulaire
     FrmRecordSource=Form.RecordSource
    'Déconnecte le formulaire de sa source
     Form.RecordSource=""
    'Suppression des enregistrements de la source de données 
     CurrentDB.Execute "DELETE * FROM " & FrmRecordSource & " WHERE Delete=True"  
    'Reconnecte le formulaire a la source de données
     Form.RecordSource=FrmRecordSource
    End sub

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Mise à jour formulaire
    Merci à vous deux pour vos réponses.

    concernant celle de Pier.Antoine, j'avais déjà essayé sans succès.

    Ilank, ton code marche à merveille :-)

    avec tes 4 lignes de code, tu m'en fais sauvé 20 et tu as résolu mes deux problèmes :-)
    soit le 1er concernant la mise à jour et le 2ème concernant le déplacement du pointeur dans une cellule afin de capturer toutes les cellules <tiquées>.

    bonne fin d'après-midi à vous deux et à une prochaine fois sans doute en cas de nouveau pb à résoudre :-) :-)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/01/2007, 08h36
  2. Message erreur sur Mise à jour formulaire
    Par Daniel MOREAU dans le forum Access
    Réponses: 6
    Dernier message: 06/10/2006, 08h52
  3. Mise à jour formulaire
    Par zut94 dans le forum Access
    Réponses: 6
    Dernier message: 10/07/2006, 20h28
  4. Mise à jour formulaire
    Par Daniel MOREAU dans le forum Access
    Réponses: 3
    Dernier message: 11/05/2006, 15h43
  5. Mise à jour formulaire !
    Par scorpion1611 dans le forum Access
    Réponses: 7
    Dernier message: 13/01/2006, 09h40

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