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 :

Extraire des données d'une base de données InterBase


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2014
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Extraire des données d'une base de données InterBase
    bjr a tous
    je viens de construire un exécutable qui semble des données extrait a partir une base de donnée cad (je choisis le clé pour l’insérer vers une table imprimable et ce table rester sauvegarder et a exporter par date)
    alors j'ai fais la liaison qui nécessite pour cela mais je n'arrive pas a construire les étapes a faire pour extraire les données
    car je veux faire une table a imprimer a partir d'un clé de chaque ligne de table de IBQUERY
    SVP me donner l'idée pour faire mon exécutable (dsl mon sujet est non organiser)

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Avez-vous déjà consulté la FAQ et les tutoriels disponibles ? Vous devriez y trouver des éléments de réponse :

    http://delphi.developpez.com/faq/?page=Interbase
    http://delphi.developpez.com/cours/?...sgbd-interbase

    Par la suite, pensez à préciser quelle version de Delphi vous utilisez.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    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 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par awem_skikda1 Voir le message
    (dsl mon sujet est non organisé)
    et ça se ressent, j'ai l'impression de n'y rien comprendre
    En tout cas je ne vois pas le besoin d'utiliser de table temporaire pour faire des impressions

    il faudrait déjà en savoir plus sur la version de Delphi, le SGBD et les composants utilisés
    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

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2014
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Merci à tous.

    J'utilise une application localhost ASP.NET et j'ai une autre application sous Delphi liée avec une base de données de type FireBird. Là je viens aider mes collègues les utilisateurs de l'application Delphi pour faire des tableaux à imprimer comme bordereau à partir de la base FireBird. Je ne sais pas comment faire, car j'utilise beaucoup le SQL server et pas l'interface de Delphi. Alors je viens vous demander de me donner une idée pour le faire. J'ai déjà lié les tables nécessaires avec Interbase mais je ne sais pas comment faire une recherche dans les tables liées et extraire les données vers une table pour l’impression.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    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 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Toujours pas la version de Delphi, dommage.

    le principe en Delphi pour imprimer un ensemble de données est simple :
    1- un interface utilisateur qui permet la sélection (ici en exemple un vieux programme D3 avec Firebird via BDE , et quickreport)
    Nom : Capturer.PNG
Affichages : 1300
Taille : 43,3 Ko
    2- à la demande de l'impression , la contruction de la query
    (ici , toujours D3+Firebird+QuickReport mais plus de sélections)
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    //--------------------------------------------------------------------------
    // PREPARATION FICHIER
    //--------------------------------------------------------------------------
    procedure TQRFeuille.SQLFiltre;
    const Select = 'SELECT * FROM MATIERES';
    var i,j : Word;
    begin
    Master.Close;
    Master.SQL.Clear;
    Master.SQL.Add(Select);
    Where:=False;
    // Clause Where
    if Normale1.Checked then
     begin // Normale
     // N° de Matière
     if (Length(DeMat.Text)>0) OR (Length(AMat.Text)>0) then
       begin
        if Length(AMat.Text)=0 then begin
                                     if Where=false then Master.SQL.Add('WHERE');
                                     Master.SQL.Add('CODE >='''+DeMat.Text+'''');
                                   end
        else
        if Length(DeMat.Text)=0 then begin
                                     if Where=false then Master.SQL.Add('WHERE');
                                     Master.SQL.Add('CODE <='''+AMat.Text+'''');
                                   end
        else begin
               if Where=false then Master.SQL.Add('WHERE');
               Master.SQL.Add('CODE BETWEEN '''+DeMat.Text+
                                    ''' AND '''+AMat.Text+'''');
             end;
        Where:=true;
        end;
     // niveau
        if Select_Niveau.Value>=0 then
           begin
             if Where=false then Master.SQL.Add('WHERE') else Master.SQL.Add('AND');
             Master.SQL.Add('NIVEAU='+IntToStr(Select_Niveau.Value));
             Where:=true;
           end;
     // Gestionnaire
        if Gestionnaire.KeyValue<>null then
           begin
             if Where=false then Master.SQL.Add('WHERE') else Master.SQL.Add('AND');
             Master.SQL.Add('CATEGORIE='''+Gestionnaire.KeyValue+'''');
             Where:=true;
           end;
     // Atelier
        if Atelier.KeyValue<>null then
           begin
             if Where=false then Master.SQL.Add('WHERE') else Master.SQL.Add('AND');
             Master.SQL.Add('ATELIER='''+Atelier.KeyValue+'''');
             Where:=true;
           end;
     // type matière
        if TypeMat.KeyValue<>null then
           begin
             if Where=false then Master.SQL.Add('WHERE') else Master.SQL.Add('AND');
             Master.SQL.Add('TYPE='''+TypeMat.KeyValue+'''');
             Where:=true;
           end;
     // famille
        if Famille.KeyValue<>null then
           begin
             if Where=false then Master.SQL.Add('WHERE') else Master.SQL.Add('AND');
             Master.SQL.Add('CODE_FAMILLE='''+famille.KeyValue+'''');
             Where:=true;
           end;
     
       if Master.SQL.Count>2 then
       begin
         SQLMemo1.Clear;
         for j:=2 to Master.SQL.Count-1 do SQLMemo1.Lines.Add(Master.SQL[j]);
       end;
     end
     else
     begin // SQL Memo
        if SQLMemo1.Lines.Count>0 then
         begin
          Master.SQL.Add('WHERE');
          Where:=true;
          for i:=0 to SQLMemo1.Lines.Count-1 do Master.SQL.Add(SQLMemo1.Lines[i]);
         end;
     end;
    // Clause ORDER
    if Nom1.Checked then Master.SQL.Add('ORDER BY DESIGNATION')
                    else Master.SQL.Add('ORDER BY CODE');
    Master.Open;
    end;
    Nom : Capturer2.PNG
Affichages : 1087
Taille : 18,7 Ko
    3- utilisation des composants de reporting, encore une fois cela dépend de la version de Delphi disponible Depuis D3 il s'agissait de Quickreport
    à partir de D7 il y avait Rave puis avec XE2 est venu FastReport . (si les exemples mis ici sont en D3 c'est que je suis sur des opérations de maintenance)

    Maintenant si vous voulez absolument des tables temporaires, les étapes 1 et 2 serait les mêmes reste juste à faire un Batchmove (si BDE ou avec les nouveaux composants Firedac) de la requête crée vers une table
    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

Discussions similaires

  1. [XL-2010] sélection des données depuis une base de données depuis une autre feuille
    Par Learning everyday dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/11/2014, 10h14
  2. inserer les données d'une base de données dans une autres?
    Par enstein8 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 14/10/2011, 13h33
  3. extraire des données d'une base de donnée
    Par Médéstrac dans le forum VB.NET
    Réponses: 0
    Dernier message: 29/03/2010, 09h34
  4. extraire des info d'une base de donnée
    Par pierrot10 dans le forum Zope
    Réponses: 2
    Dernier message: 11/05/2009, 20h43
  5. Réponses: 5
    Dernier message: 10/01/2008, 08h47

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