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 :

Alimenter sous-formulaire feuille [AC-2003]


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut Alimenter sous-formulaire feuille
    Bonjour,

    Compte tenu ma carence en VBA, J'ai de la difficulté à obtenir ce qu'il me faut dans mon formulaire. Je m'explique:

    J'ai besoin d'inclure la donnée dans mon formulaire1 à l'aide du bouton "Ajouter au panier" et ensuite passer automatiquement à une nouvelle ligne de mon sous form pour une autre saisie. Je veux aussi pouvoir retirer au besoin une ligne à l'aide de l'autre bouton Retirer du panier. J'ai inclus un démo car par évident à expliquer.

    Merci à l'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour Rickhq,

    Voici un code qui ferait ce que tu veux:
    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
    Private Sub Commande13_Click()
    On Error GoTo Err_Commande13_Click
     
        Dim ctlPrevious As Control
        Dim strSQL As String, strWhere As String
        Set ctlPrevious = Screen.PreviousControl
        If ctlPrevious.Name = "SFRequête1" Then 'Vérification si on était dans le sous-formulaire
            strWhere = ctlPrevious.Form.ActiveControl 'Récupère le numéro t1
            strSQL = "DELETE Table1.*, Table1.t1 FROM Table1 WHERE (((Table1.t1)=" & Chr(34) & strWhere & Chr(34) & "));" 'Construit la requête
            DoCmd.SetWarnings False
            DoCmd.RunSQL strSQL 'Exécute la requête
            DoCmd.SetWarnings True
            Me.SFRequête1.Requery
        Else
            MsgBox "Vous devez sélectionner une ligne dans le panier!" 'Message si on était pas à la bonne place
            Me.SFRequête1.SetFocus 'On renvoie dans le sous-formulaire
        End If
        Set ctlPrevious = Nothing
     
    Exit_Commande13_Click:
        Exit Sub
     
    Err_Commande13_Click:
        MsgBox Err.Description
        Resume Exit_Commande13_Click
    End Sub
    Cependant c'est bon pour ton formulaire parce que celui-ci a un seul champ, donc que tu te positionnes dans le champ ou sur la ligne ne fait pas de différence. Si le formulaire avait plus d'un champ et que tu ne te positionne pas dans le champ t1 ce code ne fonctionnerait pas. La raison de cela est qu'avec ce code tu vas récupérer le numéro qui était la ligne active de ton sous-formulaire avant de cliquer sur supprimer.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Merci pour le retour Robert1957,


    Parfait pour le bouton "Commande13", c'est ce que je voulais. Cependant Le bouton "Commande2" qui sert à enregistrer la donnée, devrait faire changer de ligne automatiquement pour permettre une saisie additionnelle...

    Désolé si je n'ai pas été clair.

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour,

    Ce code fera ce que tu veux mais ne vérifie pas s'il y a déjà une inscription qui correspond donc on peut inscrire 2 fois la même chose.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande2_Click()
     
        Dim strSQL As String
        strSQL = "INSERT INTO Table1(t1) VALUES (" & Me.Texte0 & ");"
        DoCmd.SetWarnings False
        DoCmd.RunSQL strSQL
        DoCmd.SetWarnings True
        Me.SFRequête1.Requery
     
    End Sub
    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2012
    Messages : 178
    Points : 78
    Points
    78
    Par défaut
    Dans le millle!!!

    Merci infiniment pour votre aide!

    Au plaisir!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/03/2008, 17h19
  2. Réponses: 3
    Dernier message: 25/02/2008, 10h18
  3. Réponses: 6
    Dernier message: 29/11/2007, 14h49
  4. Impression sous formulaires feuille de donnée
    Par langelot222 dans le forum IHM
    Réponses: 1
    Dernier message: 14/06/2007, 20h23
  5. Sous-Formulaire feuille de données
    Par steps5ive dans le forum Access
    Réponses: 4
    Dernier message: 09/01/2007, 09h37

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