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

VBA Access Discussion :

Mise à jour de formulaire lors de l'ouverture d'un sous-formulaire [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut Mise à jour de formulaire lors de l'ouverture d'un sous-formulaire
    Bonjour tous!

    Je travaille toujours sur un formulaire (LeToutEnUn) qui contient plusieurs sous-formulaires (ici, Questions sous-formulaire indépendant) qui peuvent à leur tour appeler d'autres sous-sous-formulaires (ici, NouvelleInfoIndépendante).

    Mon problème concerne l'événement sur clic d'un bouton servant à exporter une question résolue en tant que nouvelle information importante.
    En fait, je cherche lorsqu'une question est résolue à l'exporter (accompagnée de sa réponses et des commentaires qui la concerne) dans la table InfoIntéressante et supprimer l'enregistrement exporté de la table Questions.


    Mon 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
    Private Sub BtnExporter_Click()	'bouton d'exportation de question résolue en tant que nouvelle info notable
        Dim SolvedQuestion As String
        SolvedQuestion = "QUESTION: " & Me.Question & "  REPONSE: " & Me.Réponse & "  COMMENTAIRE: " & Me.Commentaire
        DoCmd.OpenForm "NouvelleInfoIndépendante"
        DoCmd.GoToRecord , , acNewRec
        Forms![NouvelleInfoIndépendante].Info = SolvedQuestion
        Forms![NouvelleInfoIndépendante].Mots_clés = "Question"
        Forms![NouvelleInfoIndépendante].Réf_primaire_concernée = Me.Source
     
        DoCmd.SetWarnings False
        DoCmd.RunSQL "DELETE * FROM Questions WHERE ((Questions.Question)=Formulaires![LeToutEnUn]![Questions sous-formulaire indépendant].Form![Question]);"
        DoCmd.SetWarnings True
        DoCmd.RunCommand acCmdSave  'sauve le formulaire Questions aussi?
        Forms![LeToutEnUn].[Questions sous-formulaire indépendant].Requery
    End Sub
    PROBLEME: lors d'un clic sur ce bouton, j'ai un message d'erreur "Enregistrez le champ actif avant d'exécuter l'action Actualiser". Pourquoi ais je ce message alors que justement j'enregistre puis je met à jour en vba???

    Merci d'avance!

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 32
    Points
    32
    Par défaut
    Ne connaissant pas tout le contexte, je te conseil de mettre à jour ton premier formulaire et ta table avant de continuer par ce code :

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    Salut,

    Euuh...ça sert à quoi de vérifier si l'enregistrement n'a pas été modifié?
    EDIT: correction, ça sert à quoi (tout court)?

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    LA solution, si elle peut servir à qlq'un d'autre (j'étais sur que c'était une "simplisterie"...restons zen ):

    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
    Private Sub BtnExporter_Click()
     
        DoCmd.RunCommand acCmdSave
        Dim SolvedQuestion As String
        SolvedQuestion = "QUESTION: " & Me.Question & "  REPONSE: " & Me.Réponse & "  COMMENTAIRE: " & Me.Commentaire
        DoCmd.OpenForm "NouvelleInfoIndépendante"
        DoCmd.GoToRecord , , acNewRec
        Forms![NouvelleInfoIndépendante].Info = SolvedQuestion
        Forms![NouvelleInfoIndépendante].Mots_clés = "Question"
        Forms![NouvelleInfoIndépendante].Réf_primaire_concernée = Me.Source
     
        DoCmd.SetWarnings False
        DoCmd.RunSQL "DELETE * FROM Questions WHERE ((Questions.Question)=Formulaires![LeToutEnUn]![Questions sous-formulaire indépendant].Form![Question]);"
        DoCmd.SetWarnings True
        Me.RecordSource = "SELECT Questions.* FROM Questions;"
    End Sub

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/07/2013, 15h05
  2. Réponses: 4
    Dernier message: 04/04/2013, 10h43
  3. Réponses: 3
    Dernier message: 28/07/2010, 12h29
  4. Réponses: 1
    Dernier message: 28/08/2007, 15h41
  5. Réponses: 2
    Dernier message: 21/12/2005, 13h08

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