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 :

Probleme Form/ Sub form


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 59
    Points
    59
    Par défaut Probleme Form/ Sub form
    Bonjour,

    Voici mon souci:

    J'ai un formulaire principal qui contient une combo box et une check box. La cbo est alimentee par une table qui contient un champ texte "objet" et un champ oui/non "mon panier". La cbo est une liste exhaustive de tous les objets.
    Si le champs "mon panier" est coche, je considere que l'objet est dans mon panier. J'ai une requete qui me permet d'afficher seulement les element presents dans mon panier.

    Mon sous formulaire est une liste des elements qui sont deja dans mon panier (obtenu avec la requete evoquee plus haut). Lorsque je coche/decoche la check box dans le formulaire principal, les objets sont ajoutes/retires au panier, et s'affichent dans le sous-formulaire grace a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub chkMyCart_AfterUpdate()
        Me.Requery
        Me.Refresh
    End Sub
    Si j'ajoute un element a mon panier et qu'ensuite de veux le retirer, il faut que
    1) je le selectionne ds la cbo du formulaire principal
    2) que je le decoche pour qu'il s'efface du sous-formulaire

    Est-ce que je ne pourrais pas organiser mon sous-formulaire pour que l'on puisse retirer le statut "mon panier" aux objets affiches. Ce formulaire n'est qu'un "ecran" qui affiche mon panier,il ne permet pas de modifier la table.

    J'espere avoir ete claire. Pour le moment j'affiche une check box a cote du nom de l'objet dans le sous-formulaire, mais je ne peux pas la modifier...

    Merci d'avance si quelqu'un comprend mon pb!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,
    je ne suis pas sûr de comprendre ce que tu souhaites obtenir.

    Souhaites-tu faire en sorte que le sous-formulaire puisse te permettre via la checkbox d'ajouter/retirer directement des objets au panier ?
    Si c'est le cas, il faut nécessairement que le sous-formulaire affiche non seulement le panier mais également tous les objets existants pour pouvoir les ajouter/retirer du panier.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    Je souhaite a partir du sous-formulaire pouvoir enlever les elements presents dans le "panier" en les decochant (en decochant la check box qui indique leur statut , present dans le panier ou non).
    Comme il y a une longue liste d'objet a rajouter ppotentiellement, je prefere que la liste complete des objets d'affiche dans la combo box (plusieurs centaines...).
    Dans l'ideal, il faudrai pour rajouter des objets:
    1) delectionner l'objet dans la cbo du formulaire principal
    2) cocher la check box ds le formulaire principal pour rajouter l'objet au panier

    Et pour les enlever:
    - seulement les decocher dans le sous-formulaire.

    Est-ce que j'explique mieux cette fois-ci?

    Nianko

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Ok, il faut utiliser l'événement Sur souris relâchée de la checkbox. L'événement Sur Click n'étant pas propagé ici, la requête n'est pas modifiable.

    Exemple : Pour l'exemple je considère que la table Panier s'appelle, Tbl_Panier et que la checkbox du sous-formulaire s'appelle Checked
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Checked_MouseUp(....)
     CurrentDb.Execute "UPDATE tbl_Panier SET mon_panier=False WHERE Objet=" & [Objet]
     Me.Requery
    End sub
    Si Objet est numérique.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    Le champ "mon_panier" est celui de ma table, c'est cela?

    J'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CurrentDb.Execute "UPDATE tblObjects SET My_Cart=False WHERE Objet=" & [Objet]
    J'obtiens l'erreur '2465' suivante:
    "MO Access can't find the field "|" referred to in you expression."

    Je ne sais pas du tout d'ou vient ce "|"..??

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    L'erreur vient du nom du champ de la requête, dans l'exemple je l'ai appelé Objet, mais il faut mettre entre crochet le nom de la colonne de la requête correpondant à la colonne TblObjets.

    (Plus précisemment, l'erreur vient du fait que ce nom de champ est inconnu dans le sous-formulaire)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 59
    Points
    59
    Par défaut
    Re,

    Merci bcp de ton aide Ilank. Bon je suis peut-etre un manche a balais:

    La procedure marche mais...lorsque j'ajoute plusieurs objets, et que je clique sur la checkbox qui correspond au statut "etre dans le panier ou non" dans le sous-formulaire, toute la liste est effacee. Pas seulement l'objet que je souhaitais enlever, tous le panier est en quelque sorte reinitialise. C'est mieux que rien, mais c pas encore ca.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    D'accord, en fait la procédure employée est peut-être bien compliquée.
    N'est-il pas plus simple, d'associer directement le sous-formulaire à la table TblObjects et en ajoutant le filtre : My_Cart=True.
    La checkBox ayant pour source la colonne My_Cart.
    Peux-tu précisé les tables, requêtes et champs que tu utilises qu'on y voit plus clair ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 59
    Points
    59
    Par défaut
    Oui bien sur:

    J'ai une table tblOBJECTS qui contient des objets avec le champ "My_cart" qui est un champ oui/non.

    J'ai 1 requete: qry_WhatObjectsRinMyCart (tout est en anglais au cas ou des utilisteurs non-francophones soient amenes a poursuivre mes "travaux".

    qui filtre les objets presents dans mon panier (= my cart en anglais, mais je pense que c'etait clair depuis le debut :-) ) et vient alimenter le sous-formulaire.

    J'ai donc 2 formulaires: le principal et le sous-formulaire.

    J'ai epure ma base de toutes les donnees et je l'ai zipee mais elle ne passe pas! C'est furstant, parce que la je ne peux plus rien retirer.

    nianko

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    D'accord, dans ce cas je ne vois pas bien à quoi sert la requête puisqu'il suffit de consulter le champ My_Cart pour savoir si un objet est dans le panier ou non.
    Si tu affectes la table comme source du sous formulaire en stipulant la valeur true de My_Cart comme filtre tu obtiens bien dans le sous-formulaire uniquement les objets qui sont dans le panier, indique que la checkbox prend ces valeurs de la colonne My_Cart, la source du formulaire devrait être dès lors modifiable, la checkbox aussi, il ne serait plus nécessaire de passer par l'événement OnMouseUp pour mettre à jour la table et le formulaire qui via le filtre ne devrait afficher que les lignes ayant M_Cart = True.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 59
    Points
    59
    Par défaut
    Merci bcp!
    Je suis sure que ca paraissait simple comme bonjour mais je pars de zero en Access, et j'ai du developper la base toute seule.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/11/2014, 17h54
  2. Réponses: 15
    Dernier message: 26/10/2006, 10h42
  3. Probleme avec Request.form
    Par joecool2005 dans le forum ASP
    Réponses: 1
    Dernier message: 29/05/2006, 15h32
  4. Réponses: 6
    Dernier message: 10/02/2006, 13h46
  5. probleme de connexion forms-oracle
    Par bargou dans le forum Oracle
    Réponses: 2
    Dernier message: 11/11/2004, 11h27

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