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 :

Affecter une valeur dans un formulaire sur une sélection pour toutes les données de ce champ [AC-2007]


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Affecter une valeur dans un formulaire sur une sélection pour toutes les données de ce champ
    Bonjour
    J'ai crée un Formulaire:
    - Dans l'entête du formulaire j'ai une zone dans laquelle j'indique une date.
    - Dans le détail sous forme de colonne j'ai plusieurs champs dont un avec une date.

    Je souhaite affecter sur un click de bouton la même date (se trouvant dans l'entête) à toute la Sélection qui a été faite sur cette table grâce aux filtres du Formulaire.
    Merci
    Ps: Je suis débutant en VBA

    Question subsidiaire, mes collaborateurs accedent à mon appli grace à un runtime access, mais sur ce formulaire ils n'arrivent pas a trier les données, il n' y a pas de menu "Trier et Filtrer" non plus alors que sur mes états il y a un menu
    re mercie

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Tu te références au RecordsetClone de ton formulaire pour le parcourir et mettre à jour les valeurs des dates selon ta date saisie.
    Ce serait un code du genre sur l'évènement sur click de ton bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub btnajoutdate_Click()
    If IsDate(Me.TxtDateAjoutee) Then
        With Me.RecordsetClone
            .MoveFirst
            While Not .EOF
            .Edit
            .DateValeur = Me.TxtDateAjoutee
            .Update
            .MoveNext
            Wend
        End With
    End If
    End Sub
    Pour le tri par ordre croissant ou décroissant, il faut que tu te construise les 2 boutons correspondants pour chaque champ de ton formulaire susceptible d'être trié. Il faut utiliser les propriétés OrderBy et OrderByOn. Ce qui donnerait un code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Trier données
    Private Sub BtnTrierDonneesCrois_Click()
    Me.OrderBy = "[DonneesValeur]"
    Me.OrderByOn = True
    End Sub
     
    Private Sub BtnTrierDonneesDeCrois_Click()
    Me.OrderBy = "[DonneesValeur] DESC"
    Me.OrderByOn = True
    End Sub
    Une base exemple est jointe.

    Bonne continuation
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    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
    Question subsidiaire, mes collaborateurs accedent à mon appli grace à un runtime access, mais sur ce formulaire ils n'arrivent pas a trier les données, il n' y a pas de menu "Trier et Filtrer" non plus alors que sur mes états il y a un menu
    re mercie
    Oui dans le runtime, les menus contextuels disparaissent. Il faut que tu te programmes un menu contextuel par toi-même.
    La gestion d'erreur interne aussi donc il faut mettre quelque chose dans l'événement "Sur Erreur" de chacun de tes formulaires et gérer proprement les erreurs dans ton code VBA avec On Error Goto.

    Pour tester le mode runtime sur une machine avec un vrai Access il faut passer le paramètre /runtime dans la ligne de commande.

    Un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call msaccess.exe "c:\TonChemin\TaBase.accdb" /runtime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Je souhaite affecter sur un click de bouton la même date (se trouvant dans l'entête) à toute la Sélection qui a été faite sur cette table grâce aux filtres du Formulaire.
    Je pense que le code suivant devrait résoudre ton problème (en supposant que tu pourrais faire la modif à la main), à mettre dans l'événement "Sur click" du bouton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim r as dao.recordset:set r=me.recordset
     
    do while not r.eof()
       r.edit
       r![TonChampDate]=me.TonChampDate 'copie la date du formulaire dans les données
       r.update
       r.movenext
    loop
     
    set r=nothing
    Si tes données sont dans un sous-formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim r as dao.recordset:set r=me.NomSousForm.form.recordset
     
    do while not r.eof()
       r.edit
       r![TonChampDate]=me.TonChampDate 'copie la date du formulaire dans les données
       r.update
       r.movenext
    loop
     
    set r=nothing
    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.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut merci
    merci, veuillez excuser mon silence, je n'ai pas eu l'occasion au travail de tester vos conseils
    Je reviens vers vous des que possible

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Bonsoir
    Bonjour
    Merci Madefemere, j'ai compris grâce à ta base exemple, nickel, mes formulaires sont beaucoup plus professionels maintenant
    A Marot_r, je ne suis pas encore à la barre personalisée, je donnerai des nouvelles à ce moment là.

    Encore merci pour vos conseils

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 31/01/2010, 10h58
  2. [XL-2000] Remplir une valeur dans cellule à partir d'une valeur precise d'un fichier texte
    Par cactus666 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2010, 10h31
  3. Réponses: 1
    Dernier message: 17/04/2009, 15h44
  4. Affectation d'une valeur dans un formulaire
    Par japz dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 07/03/2006, 15h02
  5. Réponses: 4
    Dernier message: 01/09/2004, 16h56

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