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

Bases de données Delphi Discussion :

mise à jour automatique


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut mise à jour automatique
    Bonjour

    là je galère comme je débute je n'ai jamais eu ce genre de problème et la je crois que je vais rentrer dans le vif du sujet avec delphi.

    je m'explique.

    j'ai 2 tables la premiere est à remplir par l'utilisateur elle comprend 2 champs quantité et designation.

    la 2ème contient aussi un champ designation et quantite préremplie

    je voudrais que quand je modifie le champ quantite de la table1 elle me modifie aussi le champ quantité correspondant au champ designation de la table2

    en fait c'est une gestion de stock une table inventaire et une table sortie

    j'espère que vous m'avez compris.

  2. #2
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Il te manque la notion de 'Clef'.
    Sauf si tu considères ta clef comme la désignation mais c'est à déconseiller.

    Lorsque tu postes sur une table
    - tu te positionnes correctements sur ta 2eme table
    - tu l'édites et tu y mets les infos de ta 1ere Table.

    soit tu utilises SQL, style
    update qté from table1 where Table1.designation = Table2.designation
    Mais là, la syntaxe est surement fausse, je pratique pas assez souvent.

    sinon, si tu utilises le BDE, il faut mettre un index sur designation puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Table1 déjà positionnée
    if findkey( Table2, [ Table1.Designation ] ) then
      begin
      Table2.Edit;
      Table2Qte.AsFloat := Table1Qte.AsFloat;
      Table2.Post;
      end;
    bon courage !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    j'ai oublié de préciser que qu'il y avait une opération entre la table1 et la table 2 cad je soustrait au champ de la table 2 les valeurs du champ de la table1

    du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    form2.table3quantite.value := form.table3quantite.value-form2.table2quantite.value
    Mais avant il faut que je lui dise qu'il me fasse l'opération que sur le champ designation correspondant.

  4. #4
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    prend .AsFloat comme cast (si tes champs sont numériques)
    c'est préférable, les opérations attendent des numériques.

    Sinon, cela revient au probleme du positionnement.

    1. Construire un Index (primaire ou secondaire d'ailleurs) sur tes tables
    2. Se positionner sur une ligne de la table grace à FindKey ...

    Quant à l'opération... tu fais celle que tu veux

    Si tu n'es pas familer avec les notions d'index/clefs, là il faut te diriger vers un tuto pour bien en comprendre les fonctionnements
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par TicTacToe
    soit tu utilises SQL, style
    update qté from table1 where Table1.designation = Table2.designation
    Mais là, la syntaxe est surement fausse, je pratique pas assez souvent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    update Table2
      set Qté = Qté - Table1.Qté where Table2.designation = [Table1.designation]
    [Table1.Designation] = un paramètre à faire passer

    petite version corrigée de l'update de TicTacToe
    Si j'ai bien compris ce qu'il cherche à faire ^^

    [edit]je l'ai corrigé y avait plein d'erreur ^^[/edit]
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  6. #6
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Merci Malatar

    mais J'étais SUR que tu passerais par là pour mettre une tite requete correcte

    a++
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 479
    Points : 102
    Points
    102
    Par défaut
    Bonjour

    Avant de reposter je tenais à vous remercier j'ai pu me débrouiller avec le code que vous m'avez donné.


    Merci beaucoup.

Discussions similaires

  1. [VB6] Code pour Mise à jour automatique
    Par marsup54 dans le forum VB 6 et antérieur
    Réponses: 45
    Dernier message: 10/02/2006, 18h05
  2. [Plugin][Hibernate Synchronizer] mise à jour automatique
    Par cofy dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 30/01/2006, 09h28
  3. mise à jour automatique de champs entre 2 tables
    Par romdyane dans le forum Access
    Réponses: 5
    Dernier message: 11/10/2005, 18h51
  4. système de mise à jour automatique
    Par eponette dans le forum Web & réseau
    Réponses: 2
    Dernier message: 24/08/2005, 20h17
  5. Mise à jour automatique d'un JTextAera
    Par Vlakyron dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 25/09/2004, 20h11

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