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

 Delphi Discussion :

Modification sur une Table en présence de Query


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Par défaut Modification sur une Table en présence de Query
    Bonjour,
    Je veux effectuer des modification dans la Table(Paradox7) mais comme j'utilise un Query (Pour effectuer le Tri
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     select * from PAPERSG order by 1 ASC
    ) je ne sais pas comment procéder.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form1.Table1.Edit;
    Form1.Table1.FieldValues['FSR'] := 1;
    Ce code ne fonctionne pas en présence de Query!
    Je me documente sur le Query car je n'ai pas de bonne connaissance sur ce composant, mais S.V.P si vous avez une solution n'hésitez pas car c'est urgent!
    Merci s.v.p

    (Delphi5)

  2. #2
    Membre éclairé
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Par défaut
    salut
    alors il te manque une 3eme ligne
    voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    form1.table1.edit;
    form1.table1.fieldvalues['ton_champ']:=1;
    form1.table1.post;
    remarque:
    ce code marche a la presence du composant TTABLE

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Par défaut
    Merci kroma23 pour la réponse
    Citation Envoyé par kroma23 Voir le message
    salut
    remarque:
    ce code marche a la presence du composant TTABLE
    Je suis d'accord avec toi mais dès que je rajoute le query cela ne fonctionne pas.
    La présence de query est indispensable car je l'utilise pour le Tri.

  4. #4
    Membre éclairé
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Par défaut
    re
    jai pas comprie bien ta question
    vous voulez faire un tri a votre talble ou koi

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Par défaut
    Salut,
    Je m'explique: Mon application effectue le Tri, la Recherche et la modification.
    Le Tri marche Bien avec la code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from PAPERSG order by 1 ASC
    La recherche aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
    Form1.Query1.Locate('NOM',Edit1.Text,[Lopartialkey]); //J'ai remplacé Table1 avec query1 et ça à marcher
    end;
    Mais la modification ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
    form1.table1.edit;
    form1.table1.fieldvalues['FSR']:=1;
    form1.table1.post;
     
    end;
    Les composants utilisés: DataSource1, Query1 et Table1


    Est ce qu'il y a un autre moyen pour effectuer la modification sans utiliser Table1 dans le code?

    Si ce n'est pas clair je peux reexpliquer !
    L'important est de trouver une solution, Merci de m'aider.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    mmmh ça reste un peu confus ton histoire car on ne sait pas quelles sont les interactions entre tes composants, qui est liés à qui, etc...

    Aussi je vais partir sur quelques généralités, peut-être que ça t'aidera :

    Les TTables travaillent directement avec les tables de la base de données, ainsi un edit-post sur un TTable enregistre automatiquement la modification en base. Il est également possible de trier les enregistrement via IndexFieldNames (bien que sous Paradox il faut créer un index correspondant sur la table elle-même si je me rappelle bien).

    Les TQuery exécute une requête et récupère un jeu d'enregistrement déconnecté de la base de donnée. On peut les trier via IndexFieldNames mais faire un edit-post sur un TQuery ne fait la modification que sur le TQuery en lui-même, pas en base de donnée. Pour ce faire il faut exécuter une requête d'update pour que la modification soit bien effective en base de donnée.

    Évidemment ce que je viens de dire est également vrai pour la suppression et l'insertion.

  7. #7
    Membre Expert

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Par défaut
    Citation Envoyé par kiminfor Voir le message
    Salut,
    Je m'explique: Mon application effectue le Tri, la Recherche et la modification.
    Le Tri marche Bien avec la code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from PAPERSG order by 1 ASC
    La recherche aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
    Form1.Query1.Locate('NOM',Edit1.Text,[Lopartialkey]); //J'ai remplacé Table1 avec query1 et ça à marcher
    end;
    Mais la modification ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
    form1.table1.edit;
    form1.table1.fieldvalues['FSR']:=1;
    form1.table1.post;
     
    end;
    Les composants utilisés: DataSource1, Query1 et Table1


    Est ce qu'il y a un autre moyen pour effectuer la modification sans utiliser Table1 dans le code?

    Si ce n'est pas clair je peux reexpliquer !
    L'important est de trouver une solution, Merci de m'aider.
    Qu'est-ce que tu veux dire par la "modification de fonctionne pas" ?
    Est-ce que tu as un message d'erreur ?

    Je dis ça parce que je sens venir le coup, où la modification serait bien faite dans la table, mais que tu ne rafraichirais pas la query ensuite. Comme l'a dit Aka Guymelef, le TQuery retourne un jeu de données déconnecté. Les modifications faites dans les tables ne sont pas visibles tant que la query n'est pas rééxécutée !

Discussions similaires

  1. Requête sur une table de présence
    Par mdcuno dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/06/2014, 11h56
  2. Historisation des modifications effectuées sur une table SQL
    Par Drooxy dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/10/2007, 14h29
  3. Réponses: 2
    Dernier message: 09/11/2006, 15h46
  4. [WinForms]Répercuter la modification d'une table sur le Dataset
    Par kritopal dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 02/09/2006, 10h06
  5. Modification de clé primaire sur une table répliquée
    Par Peck777 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/07/2006, 16h25

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