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 :

Contrôler enregistrement ss formulaire et lancer une requête sur le formulaire


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 33
    Points
    33
    Par défaut Contrôler enregistrement ss formulaire et lancer une requête sur le formulaire
    bonjour à tous,

    j'ai parcouru en long et large le forum et le faq, je ne trouve pas la réponse à mon problème

    J'ai un [Formulaire] et un [sous formulaire] :

    [formulaire] : Mouvement
    [sous formulaire] : ligne_mouvements

    Une fois l'en tête du formulaire remplie [numbon, date_creat,statut,code_tiers], l'utilisateur commence à remplir le sous formulaire[date_mvt,code_support,qte_mvt,type_mvt]. J'ai réussi à capter le moment où l'utilisateur a enregistré deux lignes du sous formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Form_AfterUpdate()
    Dim T3 As Long
     
    T3 = Forms("Mouvement").Controls("ligne_mouvements Sous-formulaire").Form.RecordsetClone.RecordCount
     
    If T3 = 2 Then
    MsgBox "Pas plus de 2 mouvements par bon"
     
    End If
     
    End Sub
    Maintenant je voudrais pouvoir faire en sorte qu'au bout de ces 2 enregistrements, l'utilisateur n'ait plus la possibilité d'en saisir un troisième, et qu'ensuite je mette à jour un champ du formulaire. J'avais pensé faire sortir l'utilisateur du sous formulaire dans entre mes balises if et end if, ensuite sélectionner l'entête de mon formulaire et lancer une mise à jour. Mais je ne trouve pas le code pour le faire.

    merci de votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 33
    Points
    33
    Par défaut Précision
    Petite précision :
    Je n'ai pas de problème particulier quant au remplissage de mon formulaire

    le formulaire et le sous formulaire se basent sur la table Mouvement et la table ligne mouvement où un lien existent sur le champ num_bon (champs présent dans ces deux tables).

    En cherchant et en lisant des tutoriaux.

    j'ai essayé d'ajouter à mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Parent.code_stat.ActiveControl
    pour sélectionner le champ code_stat dans mon formulaire Mouvement
    Mais ça ne marche pas
    un problème de syntaxe peut être , je continue

  3. #3
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut lulu.13
    Salut

    Sur ta base pricipale tu met un champ Nombreavec zero
    et dans ton formulaire à chaque fois que l'on écris dedans tu mets 1
    et a 2 tu interdit l'ouverture

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 33
    Points
    33
    Par défaut
    Merci encore.
    Mais mon problème n'est pas de savoir quand (au bout du deuxième enregistrement),puisque mon code fonctionne pour ça mais comment sélectionner un champ de mon formulaire Parent à ce moment là.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Essayes plutôt d'utiliser la méthode SetFocus plutôt que ActiveControl qui te donne le nom du contrôle actif.

    Et juste après, mets un Exit Sub, ce qui donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If T3 = 2 Then
         Me.Parent.code_stat.SetFocus
         Exit Sub
    End If
    Starec

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2008
    Messages : 52
    Points : 33
    Points
    33
    Par défaut
    MERCI
    ça marche.

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

Discussions similaires

  1. [AC-2003] lancer une requête sur plusieurs enregistrement
    Par yieiyiei dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/03/2015, 11h08
  2. [XL-2007] Lancer une requête depuis un formulaire
    Par puledro dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/11/2013, 14h25
  3. [AC-2007] Macro sur formulaire pour lancer une requête adaptable
    Par Kuccia dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/08/2009, 17h25
  4. Réponses: 4
    Dernier message: 24/02/2009, 18h50

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