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 :

requeteur delphi Access


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut requeteur delphi Access
    Bonjour,

    Existe-t-il des composants delphi qui permettent d'implémenter un requêteur graphique (un peu a la manière d'Access quand on veut créer une requete en mode graphique)?

    Je voudrais permettre à l'utilisateur de choisir les tables, les champs qu'ils veut, peut etre quelques conditions where, des possibilités de Count, etc...

    Il me semble qu'un tel composant existe mais je ne me rappelle plus de son nom.

    Merci.

  2. #2
    Membre éclairé Avatar de aliwassem
    Inscrit en
    Janvier 2004
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 293
    Par défaut
    Citation Envoyé par tomy29
    Bonjour,

    Existe-t-il des composants delphi qui permettent d'implémenter un requêteur graphique (un peu a la manière d'Access quand on veut créer une requete en mode graphique)?

    Je voudrais permettre à l'utilisateur de choisir les tables, les champs qu'ils veut, peut etre quelques conditions where, des possibilités de Count, etc...

    Il me semble qu'un tel composant existe mais je ne me rappelle plus de son nom.

    Merci.
    Salut
    Alors si vous utilisez TQuery...... vous pouvez utiliser le SQL builder avec le popmenu du TQuery il va vous aider un peu...........

  3. #3
    Membre Expert Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 553
    Par défaut
    Tu as ça : http://fast-report.com/upload/iblock...687c8f10b8.gif
    C'est payant mais pas très cher.

  4. #4
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Par défaut
    En complément de la réponse de philnext, voici le lien ver le site officiel de query Builder.

    J'utilise ce composant et je te le recommande.

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut
    Citation Envoyé par Pascal Jankowski
    En complément de la réponse de philnext, voici le lien ver le site officiel de query Builder.

    J'utilise ce composant et je te le recommande.
    Merci.
    Comment fait on pour relier ce composant à une base? il n'y a aucune propriété Database ou quoique ce soit y ressemblant?

  6. #6
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Par défaut
    Bonjour,

    Tu dois dans un tout premier temps définir ta façon d'accéder à ta base de données. Par exemple, si tu désires accéder à ta base via ADO, tu dois alors déposer sur ta TForm un composant TADOConnexion. Dès lors, tu pourras placer un composant TacADOMetadataProvider. Ce dernier composant dispose d'une propriété "Connection". Via l'inspecteur d'objet, tu lies cette propriété au TADOConnexion.

    Place ensuite un composant visuel TacQueryBuilder sur ta TForm. Toujours dans l'inspecteur d'objet, repère alors la propriété "MetadataProvider" à laquelle tu renseigneras le nom du composant TacADOMetadataProvider.

    Voir dans le source (unité acQBBase.pas) la propriété:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    TacQueryBuilder = class(TWinControl, IacSyntaxProviderPropsChanged)
    ...
    published
    ...
    property MetadataProvider: TacBaseMetadataProvider
          read fMetadataProvider write SetMetadataProvider;
    Tout cela aura pour effet de lier ton TacQueryBuilder à ta base de données.

    Selon le type de connexion envisagé avec ton SGBD favori :
    Citation Envoyé par QueryBuilder
    - TacBDEMetadataProvider à lier avec un Tdatabase (BDE)
    - TacQBdbExMataDataProvider à lier avec un TSQLDataSet (Dbexpress)
    - TacQIBBexMatadataProvider à lier avec un TIBDatabase. (Interbase)
    Pour compléter la mise en route du composant TacQueryBuilder, il faudra ensuite choisir un fournisseur de syntaxe.
    Par exemple, si tu te connectes à SQLServer, tu déposes sur ta fiche un composant TacMSSQLSyntaxProvider. Te te rends ensuite dans l'inspecteur d'objet pour le composant TacQueryBuilder et tu recherches la propriété SyntaxProvider que tu relies au composant TacMSSQLSyntaxProvider.
    Tu peux remarquer qu'il existe de nombreux fournisseurs de syntaxe dans cette suite de composants.

    Voir dans le source (unité acQBBase.pas) la propriété:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    TacQueryBuilder = class(TWinControl, IacSyntaxProviderPropsChanged)
    ...
    published
    ...
    property SyntaxProvider: TacBaseSyntaxProvider
          read fSyntaxProvider write SetSyntaxProvider;
    Tu peux maintenant, de façon optionnelle, placer un composant TacSQLBuilderPlainText sur ta TForm afin de récupérer le script SQL de ta requête en cours de construction. Dès que tu places ce composant tu vas dans l'inspecteur d'objet puis tu recherches la propriété QueryBuilder que tu lies à ton TacQueryBuilder.
    Ensuite il ne te reste qu'à coder l'événement OnSQLUpdated du composant TacSQLBuilderPlainText.

    par exemple si ta Tform dispose d'un composant TMemo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.acSQLBuilderPlainTextSQLUpdated(
      Sender: TObject);
    begin
      memo1.Lines.BeginUpdate
      try
        memo1.Text := acSQLBuilderPlainText1.SQL;
      finally
        memo1.Lines.EndUpdate
      end;
    end;
    Je te conseille d'utiliser non pas un TMemo, mais plutot un composant Synedit. Ce composant te permet de mettre en place la coloration syntaxique ainsi que la fonction de complétion de texte. Cela te donnera un éditeur de script SQL très pro.

    Pour finir, je te conseille d'ajouter une fonction qui permet de faire du reverse ingeniering, c'est à dire reconstruire visuellement ta requête à partir d'un script SQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.reverse(Sender: TObject);
    begin
      acQueryBuilder1.BeginUpdate;
      try
        acQueryBuilder1.SQL := SynEdit1.Text; //ou Memo1.Text
      finally
        acQueryBuilder1.EndUpdate;
      end;
    end;
    En espérant te permettre de démarrer avec la suite de composants QueryBuilder.
    Cordialement

Discussions similaires

  1. Delphi, access et ftFloat
    Par Adrian Miatlev dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/09/2005, 15h57
  2. Depuis EDI DELPHI : Access Violation
    Par powerlog dans le forum EDI
    Réponses: 1
    Dernier message: 03/08/2005, 16h59
  3. Problem de Date (Delphi/Access)
    Par mobeida dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/04/2005, 18h14
  4. Delphi-Access
    Par mobeida dans le forum Bases de données
    Réponses: 1
    Dernier message: 05/01/2005, 11h43
  5. [Delphi+Access] Pb affichage caractère spéciaux
    Par fred64 dans le forum Bases de données
    Réponses: 6
    Dernier message: 02/06/2004, 10h53

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