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

Composants FMX Delphi Discussion :

Pointer sur plusieurs sources de données


Sujet :

Composants FMX Delphi

  1. #1
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut Pointer sur plusieurs sources de données
    Bonjour,

    Je suis en train de porter mon appli VCL vers FMX.
    Pour choisir les critères de recherches sur le base de données j'utilisais un TCombobox et un fois la sélection faite je remplissais un DBGrid dans lequel l'utilisateur choisissais la valeur voulue .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      begin // Recherche sur la Collection
            with DM2.FDQRecherche.SQL do
            begin
              Clear;
              Add('SELECT C.num_collection, ');
              Add('C.Collection AS collection_i ');
              Add('FROM collections C ');
              Add('ORDER BY collection_i ');
            end;
            DBChoix.DataSource := DM2.DSRecherche;
    Comme cela je n'utilisais qu'une seul DBGrid que je remplissais avec la bonne requête. Un double clic sur la valeur choisie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    procedure TForm1.RechercheListe(IdRecherche: Integer; IdIndice: Integer);
    var // IdRecherche : champ de recherche case..of
      SQLCode: TStringList; // IdIndice : Identifiant à rechercher
    begin
      SQLCode := TStringList.create;
      SQLCode.Clear;
      SQLCode.assign(DM2.SQLLivres);
      DM2.FDQLivres.active := False;
      DM2.FDQLivres.SQL.Clear;
      case IdRecherche of
    .....
     
        12:
          begin // Recherche sur la collection
            SQLCode.Add(DM2.SQLChoix + 'L.num_collection=:saisie');
            SQLCode.Add(DM2.SQLTri + 'L.Titre');
            compteId1 := 'num_collection';
          end;
      end;
      compteId2 := IdIndice;
      DM2.FDQLivres.SQL := SQLCode;
      DM2.FDQLivres.ParamByName('saisie').Value := IdIndice;
      DM2.FDQLivres.open;
      SQLCode.Free;
    Est-il possible de garder cette même façon de faire en FMX ? Sous réserve qu'elle ne soit pas non plus absurde.
    Cela je pense pourrait se traduire par la création d'une liaison par programmation sans bien sûr utiliser le concepteur même en mode expert.

    Au passage merci à Serge pour sa doc sur les LiveBindings, il est indiqué d'ailleurs que pour le Tgrid
    Cette partie est si complexe que je préfère en limiter les explications...
    J'ai bien peur effectivement que cela le soit trop pour mon niveau.

    PS : version 10.3 community + Firebird

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    pour répondre, je ne comprends pas trop cette histoire de grille ou serait-ce grilles. Mat ça sur le compte de l'heure matinale ou ...

    Comme cela je n'utilisais qu'une seul DBGrid que je remplissais avec la bonne requête.
    Oui, bon c'est toujours possible, même avec LiveBindings, mais un LiveBindings "de base" créera des colonnes automatiquement, libellé = nom colonne. Moi j'aime bien avoir des grilles (quand j'en utilise) avec des noms de colonnes et des comportements de saisie plus "personnalisés". J'imagine qu'il est possible de le faire après coup


    Une remarque, je vois qu'il y a FDQuery donc une utilisation des macros serait pas mal surtout quand je lis quelque chose comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     begin // Recherche sur la collection
            SQLCode.Add(DM2.SQLChoix + 'L.num_collection=:saisie');
            SQLCode.Add(DM2.SQLTri + 'L.Titre');
            compteId1 := 'num_collection';
    dans le cas d'un SQL "général" j'ai tendance à écrire comme ceci
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT &colonnes FROM &table &where &tri
    ce qui permet de faire pas mal de choses (paramètres inclus)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    With FDQuery do
    begin
    MacroByName('Colonne').asRaw:='*'; // :vomi:
    MacrobyName('table').asRaw:='Matable' // on peut même mettre des jointures 
    MacroBYName('Where').asRaw:='WHERE L.num_collection=:saisie'; 
    MacrobyName('Order').Clear;  // pour montrer un RAZ d'une clause
    ParamByName('Saisie').asInteger:=idINdice;
    ....
    end;
    Cette partie est si complexe que je préfère en limiter les explications...
    Je ne me souvenais plus de cette petite phrase, il faudrait m'en indiquer le lieu une recherche rapide ne m'a pas permis de mettre le doigt dessus, depuis j'ai certainement pas mal "évolué" même si j'évite de plus en plus les grilles et préfère les ListView
    Dans le cas d'une "grille" aux sources multiples j'aurai certainement choisi un TListBox, avec un style par source de données (tiens, cela me rappelle une idée à tester pour "simuler" un TreeView en Livebindings ) ou un TScrollBox avec des frames (préférence au premier, mais première préférence au TListview avec sa recherche intégrée)

    Au passage merci à Serge pour sa doc sur les LiveBindings,
    Merci de cet encouragement, j'ai toujours l'impression de prêcher dans une chapelle vide quand je sors un tutoriel ou écrit des billets. Même si je vois le nombre de "lus" il y a si peu de retour que j'ai des doutes. Ce n'est pas que j'en ai pas sous le coude (des tutoriels) ni des idées sur divers sujets mais cela demande beaucoup de temps (écriture et corrections).
    sous le coude :
    Les Styles (en plusieurs parties)
    L'utilisation des SVG
    Firebird SQL sur un NAS SYNOLOGY (un petit OVNI dans ce forum , utilisation de Docker en prime)
    Utilisation de WSL pour tester un programme LINUX
    Utilisation de TMS Cryptography pour signer un PDF
    des idées :
    TreeView et Livebindings
    TListView et IInflatableContent (oui encore du TListView)
    Grid, TColumn Helpers (ajout de bouton etc...)
    TlistView, Regroupement des billets dans un tutoriel, presque un livre
    Livre sur les LiveBindings (on m'y encourage mais j'ai encore 982 jours pour y réfléchir)
    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
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Quand on écrit le dimanche soir, on n'est pas forcément clair dans ses explications

    Je vais essayer de préciser les différents points
    Nom : image_2020-10-20_133707.png
Affichages : 128
Taille : 6,5 Ko

    Le combobox permet de choisir le champs sur lequel va porter la recherche et va déclencher le remplissage du DbGrid situé dessous qui est rempli avec le résultat de FDQRecherche. Le SQL de FDQRecherche est alimenté en fonction du choix du combobox.

    Je vais me pencher sur l'utilisation des Macros que je ne connais pas

    Dans le cas d'une "grille" aux sources multiples j'aurai certainement choisi un TListBox, avec un style par source de données (tiens, cela me rappelle une idée à tester pour "simuler" un TreeView en Livebindings ) ou un TScrollBox avec des frames (préférence au premier, mais première préférence au TListview avec sa recherche intégrée
    Je vais regarder la mise en place de plusieurs styles et un TListBox..... Mais dans ce cas comment lui indiquer le "branchement" sur la bonne source de données.
    Dans mon approche VCL, mon DBGrid était lié à FDQRecherche, et je n'avais qu'à modifier son SQL pour avoir la liste des collections ou des séries, ou etc....Je faisais une économie de composants (selon moi).
    L'approche FMX demande vraiment de faire une vidange des réflexes (bons ou mauvais ) acquis.

    Sinon ta citation se trouve dans le doc FMX et les composants d'accès aux base de données, partie II-A-3-c juste au-dessus du II-B
    Et encore merci pour cette bible, qui est une des rares en français (et merci aussi à Patrick Prémartin pour ses vidéos et son blog)

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Re,
    Citation Envoyé par Fxg Voir le message
    Quand on écrit le dimanche soir, on n'est pas forcément clair dans ses explications
    Je confirme , moi c'est les matins avant mon café et le soir après bof 7h00 du matin

    Je vais essayer de préciser les différents points
    Que cette image me plait, typiquement ce qu'un TlistView pourrait régler recherche incluse, cf mon dernier tutoriel Recherche dans un TListView

    Le combobox permet de choisir le champs sur lequel va porter la recherche et va déclencher le remplissage du DbGrid situé dessous qui est rempli avec le résultat de FDQRecherche. Le SQL de FDQRecherche est alimenté en fonction du choix du combobox.
    Il s'agirait alors d'une seule et même requête sur une table ? Si je déduis correctement une sorte de bibliothèque.
    La question que je me pose est : pourquoi un DBGrid s'il n'y a qu'une colonne affichée

    Je vais me pencher sur l'utilisation des Macros que je ne connais pas
    ça change la vie au revoir les SQL "en tiroir" avec des SQL.Add


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Je vais regarder la mise en place de plusieurs styles et un TListBox..... Mais dans ce cas comment lui indiquer le "branchement" sur la bonne source de données.
    J'avoue n'avoir jamais testé l'approche diverses sources de données, une bonne idée de billet ou même tuto.
    S'il s'agissait d'une seule table, et d'une seule colonne je partirai sur TListView et un SQL qui renverrai toujours le même nom de colonne
    genre :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT &colonne AS texte FROM &tables &where &groupe &order
    ainsi mes LiveBindings resteraient toujours les mêmes (je te cite "économie de composants")

    tu remarqueras que j'ai ajouté une macro groupe
    si je reprend l'exemple d'une bibliothèque (idlivre,titre,idauteur,idcollection, ....)
    ce SQL pourrait remplir à peu pres tout
    ie. pour lister les collections avec des livres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    macrobyName('colonne').asRaw:='C.NOM_COLLECTION';
    macrobyName('tables').asRaw:='Livres l join collections c on l.id_collection=c.collection_id';
    macrobyname('where').Clear;
    macrobyname('groupe').aRaw:='GROUP BY C.NOM_COLLECTION';
    MacroByname('order').clear;
    idem pour auteurs
    pour livre ce serait plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    macrobyName('colonne').asRaw:='TITRE';
    macrobyName('tables').asRaw:='Livres';
    macrobyname('where').Clear;
    macrobyname('groupe').Clear;
    MacroByname('order').asRaw:='ORDER BY TITRE'
    Mais un TLitstView, groupé et d'apparence dynamique (titre auteur collection) serait encore plus facile cela écrit c'est ma marotte le TListView surtout pour les mobiles


    L'approche FMX demande vraiment de faire une vidange des réflexes (bons ou mauvais ) acquis.
    je confirme

    Sinon ta citation se trouve dans le doc FMX et les composants d'accès aux base de données, partie II-A-3-c juste au-dessus du II-B
    Je vois, je cherchais dans mon tutoriel explicitement sur les Grilles et non dans le tutoriel plus "général"
    J'aurais du écrire "fera l'objet d'un tutoriel spécifique" sauf que je ne savais pas encore que je l'écrirai
    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
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Que cette image me plait, typiquement ce qu'un TlistView pourrait régler recherche incluse, cf mon dernier tutoriel Recherche dans un TListView
    j'avais bien lu ton tutoriel (comme tous les autres aussi qui sont d'ailleurs imprimés et reliés) et j'avais compris (mais c'est peut être erroné) que cela permettait de faire des recherches à l'intérieur de la-dite liste.

    si je reprend l'exemple d'une bibliothèque (idlivre,titre,idauteur,idcollection, ....)
    On est bien sur ce type de schéma, rien de très fou ;-)

    Je souhaite simplement pouvoir sélectionner par exemple une collection parmi toutes les collections disponibles et afficher DANS une AUTRE grilles tous les ouvrages dans cette collection : un truc basic en VCL.
    En FMX aussi si ce n'est que je ne sais pas faire autre chose que : une liste (ou une grille) branchée à une source de données, et pas une liste et je choisis la source de données qui va l'alimenter.

    La question que je me pose est : pourquoi un DBGrid s'il n'y a qu'une colonne affichée
    parce que dans mon petit esprit Base de données ---> requête ---> DBGrid. Un réflexe pavlovien en quelque sorte.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    parce que dans mon petit esprit Base de données ---> requête ---> DBGrid. Un réflexe pavlovien en quelque sorte.
    On ne peut plus pavlovien que celui-là . A chaque fois que je lis Grid ou StringGrid (FMX) j'ai cette réaction : "comment cela se passerait sur un mobile !" exemple encore ici

    En FMX aussi si ce n'est que je ne sais pas faire autre chose que : une liste (ou une grille) branchée à une source de données, et pas une liste et je choisis la source de données qui va l'alimenter.
    Ben, bêtement sans tester j'écrirais qu'il suffit de modifier le BindSourceDB (équivalent du Datasource pour les composants)
    exemple : deux requêtes dm.Query1, dm.Query2 une forme avec une grille et un BindSourceDB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    case btn.Tag of    
       1 :  BindSourceDB.Dataset:=dm.Query1;
       2 : BindSourceDB.Dataset:=dm.Query2;
       else ....
    end;
    Je rappelle : NON TESTE (et pas très joli, pourquoi pas une seule requête et des changements de SQL ?)

    comme tous les autres aussi qui sont d'ailleurs imprimés et reliés
    le début d'un livre , même les billets blog ?
    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

  7. #7
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Merci.

    Je vais essayer de tester cela ce soir.

    pourquoi pas une seule requête et des changements de SQL ?)
    C'est bien l'idée initiale.

    le début d'un livre , même les billets blog ?
    Non j n'ai pas poussé le vice jusqu'au billets
    Mais j'aime bien le côté : j'ai tout sous la main, j'annote, je fais un schéma....
    Ne manque que la dédicace sur la première page

  8. #8
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Je viens de tester et cela fonctionne parfaitement.
    MAIS j'ai dû mettre dans mes requêtes les mêmes nom resultat_i et numero_i, pour que ma liaison pointe bien toujours sur les mêmes champs.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT L.num_localisation AS numero_i, 
    L.localisation AS resutat_i
    FROM localisations L  
    ORDER BY L.localisation
    Avec le schéma de la liaison
    Nom : image_2020-10-21_221433.png
Affichages : 99
Taille : 6,7 Ko

  9. #9
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Quelques instants plus tard.....
    J'arrive au résultat souhaité : un seul FDQuery que j'alimente avec le bon code SQL en fonction du choix fait et tout fonctionne.
    Pour l'instant pas de macro à l'horizon mais un ListView a remplacé le Grid (spécialement pour Serge)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    procedure TFTest.Button1Click(Sender: TObject);
    Begin
      with FDQuery1.SQL do
      begin
        Clear;
        Add('SELECT A.num_auteur as numero_i, ');
        Add('A.nom_auteur || '' '' || A.prenom_auteur AS resutat_i ');
        Add('FROM Auteurs A ');
        Add('WHERE A.ecrit = 1 ');
        Add('ORDER BY resutat_i ');
      end;
      FDQuery1.Active := False;
      BindSourceDB2.DataSet := FDQuery1;
      FDQuery1.Active := True;
    end;
     
    procedure TFTest.Button2Click(Sender: TObject);
    begin
      with FDQuery1.SQL do
      begin
        Clear;
        Add('SELECT LO.num_localisation AS numero_i, ');
        Add('LO.localisation AS resutat_i ');
        Add('FROM localisations LO ');
        Add('ORDER BY resutat_i ');
      end;
      FDQuery1.Active := False;
      BindSourceDB2.DataSet := FDQuery1;
      FDQuery1.Active := True;
    end;

    Comme précisé au-dessus, par contre je nomme mes deux champs récupérés de la même façon pour que ma liaison mise en place au début continue de fonctionner...

    Un grand merci à toi Serge; pour ton livre et tes réponses.

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Une critique ? Comme il s'agit toujours de la même Query je ne vois pas pourquoi tu aurais besoin de spécifier BindSourceDB2.DataSet := FDQuery1; à chaque fois.

    Un nota bene, la liaison ("schéma relationnel") j'aurais mis une synchronisation (* <->Synch ) sinon je prévois des difficultés à court terme pour accéder à FDQuery1.FieldByName('numero_1').asInteger(quand tu corrigeras, un avertissement va avoir lieu, comme quoi les liens vont être suppimer/modifier)

    par contre je nomme mes deux champs récupérés de la même façon pour que ma liaison mise en place au début continue de fonctionner…
    Oui, ça c'est un impératif à moins qu'il soit possible de modifier les liens ce qui est dans le domaine du possible non testé

    un ListView a remplacé le Grid (spécialement pour Serge)
    Ouf, merci, ce n'est pas que je déteste les grilles mais je trouve que la fonction de recherche est si pratique

    merci à toi Serge; pour ton livre et tes réponses.
    Livre ? non pas encore, il reste toujours au stade larvaire, imprimer mes divers tutoriels en a peut être fait une chrysalide
    Ne manque que la dédicace sur la première page
    S'il n'y a que ça ... Pour qui la dédicace ?
    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

  11. #11
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    Une critique ? Comme il s'agit toujours de la même Query je ne vois pas pourquoi tu aurais besoin de spécifier BindSourceDB2.DataSet := FDQuery1; à chaque fois.
    C'était déjà fait, je n'avais pas mis la dernière mouture.

    Un nota bene, la liaison ("schéma relationnel") j'aurais mis une synchronisation (* <->Synch ) sinon je prévois des difficultés à court terme pour accéder à FDQuery1.FieldByName('numero_1').asInteger(quand tu corrigeras, un avertissement va avoir lieu, comme quoi les liens vont être suppimer/modifier)
    OK

    Je parlais de mon livre artisanale, reliure de tous tes tuto.

    Merci

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

Discussions similaires

  1. [WD14] Etat sur plusieurs Sources de Données
    Par b_reda31 dans le forum WinDev
    Réponses: 5
    Dernier message: 21/08/2011, 02h25
  2. [C# 1.1] Graphe avec plusieurs sources de données
    Par doudoustephane dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/01/2007, 12h48
  3. Requête sur plusieurs bases de données
    Par Oluha dans le forum ASP
    Réponses: 8
    Dernier message: 14/10/2005, 15h57
  4. Réponses: 2
    Dernier message: 24/05/2005, 17h35
  5. triggers sur plusieurs bases de données
    Par Shabata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/05/2004, 11h02

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