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 :

Manipulation de dataset


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 62
    Points
    62
    Par défaut Manipulation de dataset
    Bonsoir

    Voila, j'ai une Tquery qui permet d'afficher le résultat d'une recherche dans un Dbgrid, lors d'un doubleclic sur une ligne du dbgrid je reviens sur ma fenêtre qui contient mes champs de saisie, avec des Dbedit liés à un Ttable.

    Ce que j'aimerai faire c'est avoir l'enregistrement que j'ai selectionné dans mon dbgrid soit selectionné dans mes dbedits, évidement c'est une histoire de dataset, mai je suis un peu perdu

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    une solution simple , en supposant qu'il y ait un index
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Table1.FindKey([query1.champclé])
    ou encore l'utilisation de Table1.locate.....
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 62
    Points
    62
    Par défaut
    heuuu...
    vous pouvez etre plus claire, désolé mais j' ai pas saisie comment utilisé le findkey ou le locate de ma Ttable

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Quel est l'évènement qui se déclenche lors du changement d'enregistrement dans Query1 : certainement AfterScroll ou au niveau du DataSource StateChange
    donc à priori je ferais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Form1.Dataset1.OnStateChange(...)
    begin
    Table1.FindKey([Query1.ChampCle]);
    end;
    Table1.FindKey si j'ai un champ indexe Locate dans le cas contraire .
    NOTA : Il existe bien une instruction qui synchronise deux tables Table1.GotoCurrent(Table2) mais que ne sais pas si on peut synchroniser une Table et un Query (jamais essayé)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 62
    Points
    62
    Par défaut
    je sais qe j'explique mal , voila j récapitule

    j'ai un Tquery qui fait un recherche en autocompletation que voici le code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TFlistarticle.Edit1Change(Sender: TObject);
    begin
         data.QLISTEARTICLE.Close;
         data.QLISTEARTICLE.SQL.Clear;
         data.QLISTEARTICLE.SQL.Add('select * from ARTICLE where libart like');
         data.QLISTEARTICLE.SQL.Add (quotedstr('%'+(Edit1.Text)+'%'));
         data.QLISTEARTICLE.Open;
     
    end;
    j un formulaire avec des dbedits lié a un Ttable, ce mem formulaire affche ma fenetre du dbgrid, donc en doublclic sur ce dernier j revien sur mon formulaire,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TFlistarticle.DBGrid1DblClick(Sender: TObject);
    begin
    close;
    end;
    ce que je veus c avoir le mem enregistrement selectionner lors du doubleclic dans mon formulaire

  6. #6
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    Bonjour,

    je n'ai peut-être pas bien compris ta question, mais je pense qu'en tutilisant le même dataset dans le 2 formulaires, ça devrait fonctionner, non ?

    @++
    Dany

  7. #7
    Membre confirmé Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    578
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2002
    Messages : 578
    Points : 604
    Points
    604
    Par défaut
    Citation Envoyé par skywaukers Voir le message
    Bonjour,

    je n'ai peut-être pas bien compris ta question, mais je pense qu'en tutilisant le même dataset dans le 2 formulaires, ça devrait fonctionner, non ?

    @++
    Dany
    +1

    tu peux utiliser un seul query celui de ta fiche principale couplé avec un TUpdateSQL

    dans ton formulaire de saisie tu as juste un Tdatasource relié a ton query

    et c'est tout

  8. #8
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 74
    Points : 62
    Points
    62
    Par défaut
    en voulant expliquer simplement, j réussi a rien expliqué,

    voila j'ai 2 dataset une pour un formulaire et l 'autre pour une liste de recherche, j veus avoir le mem enregistrement pointé dans les 2 dataset

  9. #9
    Membre confirmé Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    578
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2002
    Messages : 578
    Points : 604
    Points
    604
    Par défaut
    pourquoi utiliser deux dataSet quand tu en as besoin que d'un seul !

    dans ta form de recherche tu as ton query avec son updatesql
    ensuite quand tu double clique sur la grille tu ouvre ta form de saisie qui contient tes dbedit et un tdataSource pointant vers le query de ta form de recherche

    sinon pour synchroniser 2 dataSet tu as la méthode Locate

    ps :
    j un formulaire avec des dbedits lié a un Ttable, ce mem formulaire affche ma fenetre du dbgrid, donc en doublclic sur ce dernier j revien sur mon formulaire,

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/08/2010, 10h25
  2. Réponses: 6
    Dernier message: 15/03/2009, 13h33
  3. Les manipulations d'un DataSet
    Par mourmaux dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/09/2008, 13h29
  4. Manipulation des dataset
    Par simou22 dans le forum VB.NET
    Réponses: 1
    Dernier message: 19/01/2008, 11h39
  5. Réponses: 2
    Dernier message: 17/11/2005, 09h59

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