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 :

VBA case a cocher


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Par défaut VBA case a cocher
    bonjour
    je sui un petit peu nul en programmation
    donc voila mon dilemme
    j'ai une table "contrat "avec dedans des champs :simple, etendu,2 visite,4 visite et ceux sont des champs oui/non
    et j'ai une table "intervention" avec des champs dépannage,travaux,reparation, Visite legale d'entretien,date intervention,date prochaine intervention
    j'ai fais une requete entre les 2
    et dans un formulaire j'aimerais que lorsque je coche VLE(Visite légale entretien) et que je sais que simple est coché on m'affiche dans le champ date prochaine intervention=date intervention +42
    je pense que l'algo est comme ca
    Si simple=1 et VLe=1 alors [date prochaine intervention].Value=DateAdd("d",42,[date intervention ])
    mais pour mettre sous VBA gros probleme

    si quelqu'un peux m'aider merci beaucoup

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Dans l'événement AfterUpdate (Après MAJ) de VLE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if me.VLE and me.simple then
      me.[date prochaine intervention]=DateAdd("d",42,me.[date intervention ])
    end if

    Les champs VLE et simple étant des booleens (Oui/Non) tu peux les utiliser directement dans ton if.

    'if me.VLE' then est équivalent à 'if me.VLE=true'

    Une bonne habitude est d'utiliser True (vrai) et False (faux) au lieu de -1 et 0, ça rend le code beaucoup plus lisible et ça évite de se mélanger quand on travail avec plusieurs langages.

    Le me. est pour s'assurer de faire référence au Form courrant et puis ça te présente la liste des variables disponibles, y'a plus qu'à choisir celle que tu veux. Ça fait moins de frappe et ça évite les erreurs de syntaxe.

    Par précaution évite les espaces, préfère les '_', et les accents (la plus part système sont d'origine américaine et l'anglais n'a pas d'accents) dans les noms de champ. Tu peux aussi jouer avec les majuscules minuscules ex : DateProchaineIntervention.

    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 confirmé Avatar de laurent.w
    Inscrit en
    Décembre 2006
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 201
    Par défaut
    tu fais une simple requete qu tu insere en vba, et tu fais un update sur changement sur ta case à cocher

    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
    31
    32
     
     
    Private Sub CocherIR2_Click()
     
    If Me.Cocher Then
        call case_cocher
    End If
     
    End Sub
     
    public function case_cocher()
     
    dim sql as string
    dim rdsfiles as recordset
    dim dbs as database
    Set dbs = CurrentDb
     
    SQL = "SELECT... ";"
     
            ''' Open the recordset
            Set dbs = CurrentDb
            Set rdsfiles = dbs.OpenRecordset(strSQL, dbOpenSnapshot)
     
    ''' Exit si  ton enregistrement n'existe pas, who knows ?
            If rdsfiles.EOF or rdsfiles.BOF Then
     
                 exit function
            else
                 DoCmd.RunSQL "UPDATE ..... where ta condition;"
            end if
     
    end function
    oups dan ton update set champ oui/non= true..
    .

    je suis fatigué, troisième message:
    tu mets à jour ton champ correspondnat et après le update tu fais me.etc

    comme a fait l'autre posteur et çà devrait fonctionner

    çà marche en gros comme çà (oups c'est pas Kamini)

  4. #4
    Membre éclairé
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Par défaut probleme d'etat
    merci marot ton code m'a bien aidé et ca marche
    donc j'ai une autre question
    voila
    maintenant je veux dans un etat que si ma date prochaine inter est dépassé que dans un grpe d'option oui/non elle m'affiche oui
    dons j'explique le sujet
    j'ai une requete designé "appareil en retard d'intervention" avec comme table:client,contrat,intervention
    donc dans un etat je veux afficher le nom client, l'@ ...
    et ma date de prochaine intervention
    pour cela je créé un grpe d'option avec des boutons oui/non qui m'indiqueront que ma date est dépassé ou pas
    je sais que c dans la propriété du grpe que tout se joue mais j'arrive pas a lui dire que si [Date prochaine inter]<[Date aujourd'hui] ->affiche oui
    deja pour [Date aujourd'hui]il ne comprends pas ou c moi!!!(fort probable) en sachant que [Date aujourd'hui]change tout le temps!!!!!

    merci d'avance

  5. #5
    Membre éclairé
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Par défaut probleme etat
    je c pas si c ca mais j'ai trouvé un truc
    dans source controle:=[Date prochaine intervention]<Maintenant()
    et ca marche
    mais si tu as autre chose a proposer n'hesite pas

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Non c'est une de façon les plus efficasse de le faire, c'est une équation booleene.

    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. VBA case à cocher
    Par omlov88 dans le forum Windows
    Réponses: 1
    Dernier message: 10/01/2008, 09h42
  2. [VBA-E]Case A Cocher
    Par gantec dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 07/03/2007, 08h19
  3. [VBA] Syntaxe case à cocher
    Par nomade333 dans le forum Access
    Réponses: 6
    Dernier message: 22/11/2006, 23h00
  4. [VBA-E] Case a cocher
    Par pierre bernard dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/05/2006, 21h01
  5. [excel vba]case à cocher dans excel pour plusieurs lignes
    Par fcoisb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/03/2005, 11h23

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