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

Lazarus Pascal Discussion :

TForm, Composants BDD, Tables jointes [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Par défaut TForm, Composants BDD, Tables jointes
    Bonjour,

    Rencontrant quelques soucis dans la saisie de données dans des tables avec jointures, j'aurais voulu savoir comment vous développez vos Form de saisie de vos champs de bdd lorsqu'il y a plusieurs tables avec jointure.

    Dans mon cas j'ai 3 tables : Employe, Contrat et Souscription qui fait le lien entre les tables Employe et Contrat. (voir ici)
    J'utilise un TForm pour ajouter un Contrat. Sur cette fiche, je pose mes composants de bdd (DBEdit, ...) pour la saisie des champs de la table Contrat et les composants de bdd pour la saisie des champs de la table Souscription. Procédez-vous de la même manière ?

  2. #2
    Membre émérite
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Par défaut
    Salut vieille branche encore vivant ?

    Tu ne te rappels pas de mes cours du soir dis moi ?

    Tu ne peux pas utiliser directement une jointure pour tes saisies, il te faut dans ce cas un mode d'affichage et un mode de modification avec 2 requêtes ou sinon utiliser des loockup mais pas très commodes au bout d'un moment...

    @+

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Par défaut
    Citation Envoyé par chris37 Voir le message
    Salut vieille branche encore vivant ?
    Salut Chris,
    Je m'attendais un peu à avoir une réponse de ta part (m'sieur l'expert BDD)

    Citation Envoyé par chris37 Voir le message
    Tu ne te rappels pas de mes cours du soir dis moi ?
    En base de données, jamais eu de cours

    Citation Envoyé par chris37 Voir le message
    Tu ne peux pas utiliser directement une jointure pour tes saisies, il te faut dans ce cas un mode d'affichage et un mode de modification avec 2 requêtes ou sinon utiliser des loockup mais pas très commodes au bout d'un moment...
    Tu peux me la refaire ? J'ai pas tout compris
    Pour l'affichage, pas de problème. Je crée une vue dans ma base que j'affiche dans un dbgrid. Par contre, pour la saisie, j'utilise les dbedit, dbcombo (et ceux avec des lookup aussi). Mais c'est après que ça se gâte. Lorsque je fais un applyupdate sur mes 2 tables. Sachant que dans la seconde table, je dois retrouver le champ id de la première table.
    Citation Envoyé par chris37 Voir le message
    @+
    @+

    PS: Tu es toujours sur gmail ? Tu peux me transmettre ton adresse par MP ?

  4. #4
    Membre émérite
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Par défaut
    He he sacré Franck

    Pour l'affichage avec ta vue dans la dbgrid --> ok
    Pour la saisie des données via composant dbedit -->ok

    Mais pour l'insertion des données dans les tables --> 1 Requêtes par tables et la tu récupères l'ID de la première avant le deuxième insert (Tu suis toujours...)

    Parce que ta vue ne va pas tout gérer toute seule (Certains diront que c'est possible mais je ne le conseil pas). Mieux vaut maitriser ce qui rentre dans les tables

    Cela permet en plus, d'initialiser des rubriques internes sans les faire transitées par la vue et donc d'alléger les temps de réponses comme des champs date, login etc.....

    @+

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Par défaut
    Merci pour ta réponse Chris. Mais je voudrais éviter d'avoir des requêtes à créer. Je préférerais une solution via les Triggers et/ou les composants ZEOSLIB (zupdatesql).
    Mais par les triggers je n'ai pas encore trouvé de solution (j'ai pas essayé la solution proposée par bigane ici). Avant d'essayer, tu en penses quoi ?

  6. #6
    Membre émérite
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Par défaut
    Salut Franck,

    Effectivement, Bigane propose la solution dont je parlais plus haut mais que je n'utilise pas.. mais qui néanmoins fonctionne parfaitement...

    C'est l'avantage du SQL. En rajoutant quelques petites fonctions appelées par les triggers on obtient un résultat correct. Ton code est plus souple et directement sur la Dbd..

    Pour ton besoin c'est à mon avis la bonne piste à suivre.....
    De mon coté, mon ERP gère tellement de truc paramétrés que je garde la main au niveau du code (Mais cela n'engage que moi)

    Tiens nous au courant petit

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

Discussions similaires

  1. [Hibernate] Problème de BDD (tables supprimées)
    Par jraselin dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 12/02/2006, 18h10
  2. [Delphi 2005 Perso] Composants BDD
    Par will-scs dans le forum EDI
    Réponses: 2
    Dernier message: 16/08/2005, 18h05
  3. [Composant] BDD avec Delphi 6 Perso
    Par Manopower dans le forum Bases de données
    Réponses: 5
    Dernier message: 17/02/2005, 09h47
  4. Tables jointes, avec enregistrements multiples
    Par ARRG dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/07/2004, 14h00
  5. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41

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