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 :

Formulaire/sous formulaire sur dernier enregistrement [AC-2007]


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Formulaire/sous formulaire sur dernier enregistrement
    Bonjour à tous,

    J'ai besoin d'aide!

    j'ai créé une base de donnée nommée CLIENTS et une base de donnée nommée DEVIS. Les 2 sont liées en one to many par une relation entre la clef primaire N° auto de CLIENTS à une colonne "N° Clients" dans DEVIS.

    J'ai créé un formulaire Nouveaux clients, en mode "entrer donnée" qui contient un bouton Enregistrer et aller à Devis.

    Pour le devis, mon problème est que je souhaite l'ouvrir sur le client que je viens d'enregistrer afin d'enregistrer le devis en question, et qu'il affiche tant qu'à faire le nom de ce client (imaginons une pause café, retour sur l'écran et plus de souvenir du client dont le devis est en cours).

    J'ai donc fait un formulaire avec sous formulaire, mais impossible de trouver comment lui dire "Affiche moi le dernier enregistré". J'ai tenté de baser le tout sur une requête qui utilise les 2 tableaux, mais la encore problème: si la colonne ID est en opération sur "DERNIER", tout le reste est en "regroupement" (je ne trouve pas d'alternative) et le résultat ne veut pas m'afficher seulement le dernier.

    J'ai pensé faire une requête sur le tableau "DEVIS" mais là encore problème: la colonne "N° clients" est vide tant qu'il n'y a pas d'entrée, je ne peux dnc pas m'appuyer dessus pour sortir le dernier client de la table ClIENTS.


    J'espère avoir été suffisamment clair pour vous, je bute sur ce problème depuis 3 jours et c'est extrêmement frustrant. Je sens bien que j'ai perdu la logique ACCESS en ne l'utilisant plus depuis l'école... Merci pour votre attention

    EDIT: S'il existe une forme plus simple pour naviguer entre les formulaires, je prends, encore une fois je me demande vraiment si j'utilise access dans sa logique.

  2. #2
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour ,
    Je crois qu'il faut traiter ton problème en deux étapes car je ne crois pas que tu auras toujours à créer un nouveau client pour chaque devis (un client qui revient pour une deuxième ou plus de devis).
    Pour afficher le dernier client enregistré tu pourras faire une requête qui a pour critère de regroupement "Max" du champs numéro automatique de la table clients (tu n'aura qu'a choisir dans la liste déroulante).
    Tu pourra faire un sous formulaire basé sur cette requête et l'actualiser sur l'événement "réception focus " du formulaire ou un bouton si tu veux.
    A+

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci mille fois pour cette réponse!
    Je vais tenter de mettre en place cette solution et je reviens vers vous pour le débrief,

    vraiment merci!

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par dok flint Voir le message
    Bonjour ,
    Je crois qu'il faut traiter ton problème en deux étapes car je ne crois pas que tu auras toujours à créer un nouveau client pour chaque devis (un client qui revient pour une deuxième ou plus de devis).
    Pour afficher le dernier client enregistré tu pourras faire une requête qui a pour critère de regroupement "Max" du champs numéro automatique de la table clients (tu n'aura qu'a choisir dans la liste déroulante).
    Tu pourra faire un sous formulaire basé sur cette requête et l'actualiser sur l'événement "réception focus " du formulaire ou un bouton si tu veux.
    A+
    J'ai donc essayé la méthode mais je suis perdu.

    Sur création de la requête, qui m'affiche bien le dernier client, je crée donc un nouveau formulaire "Devis" basé sur la requête créée pour le premier critère "Max numéro client" de la table client. Je souhaite ensuite afficher "coût" et "destination" de la table "Devis" sur le formulaire mais, quand je clique sur terminer, le bougre d'animal me met:

    "Vous avez choisi des champs issus de sources d'enregistrement auxquelles l'assistant ne peut se connecter. Il est possible que vous ayez choisi des champs d'une table et d'une requête basée sur cette table. Si c'est le cas, essayez de choisir des champs venant de la table ou de la requête uniquement."

    Je ne peux pas mettre tous les champs souhaités dans la requête, le tri ne s'effectuant plus correctement (il me fait des sommes de coûts etc). Si je crée un sous-formulaire dans le premier formulaire "Clients", cela complique les choses parce que le formulaire client est déjà énorme à remplir, de plus beaucoup de clients n'ont pas à avoir de devis. Enfin il ne me sort pas le dernier client de toutes façons, soit il m'affiche le premier soit je le mets sur "entrerdonnées" et dans ce cas je dois créer un nouveau client.

    Je ne peux pas non plus créer un formulaire basé uniquement sur la table "Devis" avec sa colonne liée "N° Clients" puisque si un client n'a pas de devis (normal au départ), il n'apparait pas dans ma table devis.

    Je me doute que je n'ai pas du bien comprendre la manœuvre, pourriez vous m'aider s'il vous plait? Un peu comme dans la guerre des étoiles, "aidez moi Dok Flint, vous êtes notre seul espoir"!

    Merci pour votre temps

    Edit: J'insère une image pour faciliter le tout


  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ok j'ai avancé sur mon problème et voici où j'en suis:

    Puisque je ne pouvais faire une requête avec plusieurs champs dont la première colonne est max ID (puisque qu'il refusait de m'afficher un client sans données sur les champs suivants), j'ai mis en type de lien "inclure tous les enregistrements de la table clients et seulement ceux de la table devis pour lesquels les champs joints sont égaux". J'ai donc maintenant inclus les clients (et donc le dernier enregistré) sans devis et je peux donc afficher le dernier.

    surprise, quand je crée enfin le formulaire basé sur ma requête, tout s'affiche impeccable mais je ne peux pas rentrer de données! J'ai bien mis mon formulaire en "entrer données" mais pour le moment il ne veut pas puisque la requete est une requete SELECT.

    Je cherche du côté des requetes "Ajout"

    Edit: J'ai réglé mon problème! Suite à la modification de la liaison, j'ai changé quelquechose dans les propriété de ma requête qui m'a permis d'enregistrer directement dessus, et donc sur le formulaire derrière! Malheureusement, ayant changé plusieurs paramètres en même temps pour le test, je ne connais pas le paramètre correspondant mais l'essentiel du problème corrigé reste la relation entre mes tables.

    Merci infiniment pour l'aide apportée,

    bien cordialement

  6. #6
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour ,
    Une solution simple et pratique , merci pour les explications comme ça d'autres peuvent en profiter
    Bonne continuation et A+

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

Discussions similaires

  1. [AC-2010] Formulaire - Sous formulaire - Sous sous formulaire
    Par meli74 dans le forum IHM
    Réponses: 1
    Dernier message: 21/04/2011, 19h35
  2. Réponses: 4
    Dernier message: 11/04/2007, 18h46
  3. Réponses: 2
    Dernier message: 21/12/2006, 09h26
  4. formulaire/sous formulaire/sous formulaire
    Par aimejielle dans le forum Access
    Réponses: 1
    Dernier message: 24/07/2006, 22h48
  5. Réponses: 1
    Dernier message: 10/07/2006, 09h15

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