Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Suchfunktion in einem DBGrid (https://www.delphipraxis.net/186491-suchfunktion-einem-dbgrid.html)

Krupi 7. Sep 2015 11:33

Datenbank: Firebird • Version: 2.5 • Zugriff über: TSQL

Suchfunktion in einem DBGrid
 
Hallo DP-Gemeinde

ich hoffe ihr könnt mir helfen bei meinem problem.

Ich habe eine DBGrid mit folgenden spalten :

Name Telefon Email Ort Straße

Das DBGrid ist mit einer DatenBank verbunden und die Daten kann ich schon rein ziehen in das DBGrid. Jedoch wollte ich per Button und Edit FEld in meinem DBGRid etwas suchen und falls bei gefundenen eintrag, sollte nur dieser eintrag im DBGRid angezeigt werden.
Ich weis leider aber nicht wie ich es realisieren soll.

Danke im Vorraus für jede Hilfe :)

Sherlock 7. Sep 2015 11:38

AW: Suchfunktion in einem DBGrid
 
Du suchst in dem angebundenen DataSet und erhältst dadurch automatisch den fraglichen Datensatz im Grid markiert - sofern du den Rowindicator (ich glaube so heisst das) anzeigst.

Sherlock

mkinzler 7. Sep 2015 12:03

AW: Suchfunktion in einem DBGrid
 
Mit <DataSet>.Locate() kannst Du die Datenmenge durchsuchen und der 1. gefundene Datensatz wird dann zum aktiven im DataSet.

Perlsau 7. Sep 2015 12:13

AW: Suchfunktion in einem DBGrid
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Krupi (Beitrag 1314947)
Jedoch wollte ich per Button und Edit FEld in meinem DBGRid etwas suchen und falls bei gefundenen eintrag, sollte nur dieser eintrag im DBGRid angezeigt werden.

Da gibt es mehrere Möglichkeiten. Daß du nicht im DBGrid, sondern im zugrundeliegenden Dataset/Query/Table suchen mußt, wurde bereits mitgeteilt.
  1. Du kannst die Filterfunktion deines Datasets verwenden und dort den Filter eingeben.
  2. Du kannst das SQL-Property deines Datasets verwenden und den Select-Befehl um eine entsprechende Where-Klausel erweitern
  3. Wenn ich – entgegen deiner Anforderung – nur zum gesuchten Datensatz im DBGrid springen will, realisiere ich das mit eine Tastaturabfrage im DBGrid:

Delphi-Quellcode:
Procedure TFormMain.DbGrid_ViewKeyPress(Sender: TObject; var Key: Char);
Var
  C : Integer;

begin
  C := Ord(Key);
  Case C Of
     27      : DatMod.EintragFinden_View(Key); // Esc
     32      : DatMod.EintragFinden_View(Key); // Space
     45      : DatMod.EintragFinden_View(Key); // -
     46      : DatMod.EintragFinden_View(Key); // .
     48..57  : DatMod.EintragFinden_View(Key); // 0-9
     65..90  : DatMod.EintragFinden_View(Key); // A-Z
     97..122 : DatMod.EintragFinden_View(Key); // a-z
    129      : DatMod.EintragFinden_View(Key); // ü
    132      : DatMod.EintragFinden_View(Key); // ä
    148      : DatMod.EintragFinden_View(Key); // ö
  End;
end;

Procedure TDatMod.EintragFinden_View(Const Taste: Char);
Var
  Spalte : String;
begin
  If Taste = #27                    Then
     GLD.URec.Praxen_SuchText := '' Else
  Begin
    GLD.URec.Praxen_SuchText := GLD.URec.Praxen_SuchText + Taste;
    Case GLd.URec.Praxen_SortId Of
    0 : Spalte := 'PRAXIS';
    1 : Spalte := 'STRASSE';
    2 : Spalte := 'HNR';
    3 : Spalte := 'PLZ';
    4 : Spalte := 'ORT';
    5 : Spalte := 'HOME';
    6 : Spalte := 'MAIL';
    7 : Spalte := 'TELEFON';
    8 : Spalte := 'ANWEND';
    End;
    If GLd.URec.Praxen_SortId < 9 Then
       DatMod.View_Praxis.Locate(Spalte, GLD.URec.Praxen_SuchText, [loCaseInsensitive,loPartialKey]);
  End;
  If Assigned(fUpdateStatusbar) Then fUpdateStatusbar;
end;
Falls du den Code nicht gleich verstehst: Die Variable GLD.URec.Praxen_SuchText enthält den Suchtext, der durch die ESC-Taste gelöscht wird.

Für die genaue Suche in mehreren Feldern gleichzeitig ist natürlich etwas mehr Aufwand notwendig. Hier verwende ich eine spezielle Suchmaske und werte beim Klick auf den Suchen-Button die einzelnen Felder und Checkboxen aus:

Delphi-Quellcode:
UNIT UnitSuchPrax;

INTERFACE

USES
  Winapi.Windows, Winapi.Messages,
  System.SysUtils, System.Variants, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.CheckLst, Vcl.ExtCtrls, Vcl.ComCtrls,
  JvExComCtrls, JvDateTimePicker;

TYPE
  TFormSuchPrax = CLASS(TForm)
    Panel_Such        : TPanel;
    Ed_Praxisname     : TEdit;
    Ed_Strasse        : TEdit;
    Ed_PLZ            : TEdit;
    Ed_Ort            : TEdit;
    Ed_Homepage       : TEdit;
    Ed_Email          : TEdit;
    Ed_Telefon        : TEdit;
    Check_Anfrage     : TCheckBox;
    Check_Antwort     : TCheckBox;
    Lbl_Praxisname    : TLabel;
    Lbl_Strasse       : TLabel;
    Lbl_PLZ           : TLabel;
    Lbl_Ort           : TLabel;
    Lbl_Homepage      : TLabel;
    Lbl_Email         : TLabel;
    Lbl_Telefon       : TLabel;
    Check_SuchResAktiv : TCheckBox;
    CheckList_SuchPrax : TCheckListBox;
    Check_GrossKlein  : TCheckBox;
    Check_Exakt       : TCheckBox;
    Panel_SuchTool    : TPanel;
    Btn_Such          : TButton;
    Btn_Clear         : TButton;
    Btn_Close         : TButton;
    Memo_Anleit       : TMemo;

    Procedure FormShow(Sender                    : TObject);
    Procedure FormClose(Sender                   : TObject; var Action: TCloseAction);
    Procedure CheckList_SuchPraxClickCheck(Sender : TObject);
    Procedure Ed_PraxisnameKeyPress(Sender       : TObject; var Key: Char);
    Procedure Btn_ClearClick(Sender              : TObject);
    Procedure Btn_CloseClick(Sender              : TObject);
    Procedure Btn_SuchClick(Sender               : TObject);

  PRIVATE { Private-Deklarationen }
    Const
      MemoText1 = 'Gesucht wird nur nach jenen Feldern, die in der Liste rechts markiert sind.';
      MemoText2 = ' Für das Feld "Praxisname" gilt zusätzlich, daß auch ein Suchtext im Eingabefeld stehen muß,';
      MemoText3 = ' denn in der Datenbank darf der Praxisname nicht leer sein.';
      MemoText4 = ' In den anderen Feldern kann somit auch danach gesucht werden, ob sie leer sind.';

    Procedure EinstellungenLesen;
    Procedure EinstellungenSchreiben;
    Procedure SuchSQLerzeugen;
    Procedure SucheStarten;

  PUBLIC { Public-Deklarationen }


  END;

VAR
  FormSuchPrax: TFormSuchPrax;

IMPLEMENTATION
{$R *.dfm}
{ TFormSuchPrax }

Uses
  UnitData, GLD;

// ##### PRIVATE METHODEN ###############################################################################################################

// ---------- Einstellungen lesen ------------------------------------------------------------------------------------------------ Privat
Procedure TFormSuchPrax.EinstellungenLesen;
Var
  SCheck : String;
  i     : Integer;

begin
  Self.Left                 := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_LEFT').AsInteger;
  Self.Top                  := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_TOP').AsInteger;
  Self.Width                := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_WIDTH').AsInteger;
  Self.Height               := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_HEIGHT').AsInteger;
  Check_SuchResAktiv.Checked := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_SUCHRESAKTIV').AsBoolean;
  Check_GrossKlein.Checked  := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_GROSSKLEIN').AsBoolean;
  Check_Exakt.Checked       := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_EXAKT').AsBoolean;
  Ed_Praxisname.Text        := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_PRAXIS').AsString;
  Ed_Strasse.Text           := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_STRASSE').AsString;
  Ed_PLZ.Text               := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_PLZ').AsString;
  Ed_Ort.Text               := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_ORT').AsString;
  Ed_Homepage.Text          := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_HOME').AsString;
  Ed_Email.Text             := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_EMAIL').AsString;
  Ed_Telefon.Text           := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_TELEFON').AsString;
  Check_Anfrage.Checked     := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_GEMAILT').AsBoolean;
  Check_Antwort.Checked     := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_GEANTWORTET').AsBoolean;
  SCheck                    := DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_CHECKLIST').AsString;

  If SCheck <> '' Then
  Begin
    i := 0;
    Repeat
      Inc(i);
      CheckList_SuchPrax.Checked[i-1] := SCheck[i] = '1';
    Until (i = CheckList_SuchPrax.Count) Or (i = Length(SCheck));
  End;

  Memo_Anleit.Lines.Text := MemoText1+MemoText2+MemoText3+MemoText4;
end;

// ---------- Einstellungen schreiben -------------------------------------------------------------------------------------------- Privat
Procedure TFormSuchPrax.EinstellungenSchreiben;
Var
  SCheck : String;
  i     : Integer;
begin
  SCheck := '';
  For i := 0 To CheckList_SuchPrax.Count -1 Do
    If CheckList_SuchPrax.Checked[i] Then
       SCheck := SCheck + '1'       Else
       SCheck := SCheck + '0';

  DatMod.Qset_Benutzer.Edit;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_LEFT').AsInteger              := Self.Left;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_TOP').AsInteger               := Self.Top;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_WIDTH').AsInteger             := Self.Width;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_HEIGHT').AsInteger            := Self.Height;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_SUCHRESAKTIV').AsBoolean      := Check_SuchResAktiv.Checked;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_GROSSKLEIN').AsBoolean        := Check_GrossKlein.Checked;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_EXAKT').AsBoolean             := Check_Exakt.Checked;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_PRAXIS').AsString             := Ed_Praxisname.Text;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_STRASSE').AsString            := Ed_Strasse.Text;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_PLZ').AsString                := Ed_PLZ.Text;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_ORT').AsString                := Ed_Ort.Text;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_HOME').AsString               := Ed_Homepage.Text;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_EMAIL').AsString              := Ed_Email.Text;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_TELEFON').AsString            := Ed_Telefon.Text;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_GEMAILT').AsBoolean           := Check_Anfrage.Checked;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_GEANTWORTET').AsBoolean       := Check_Antwort.Checked;
  DatMod.Qset_Benutzer.FieldByName('SUCHPRAX_CHECKLIST').AsString          := SCheck;
  DatMod.Qset_Benutzer.Post;
end;

// ---------- Suchstring erzeugen ------------------------------------------------------------------------------------------------ Privat
Procedure TFormSuchPrax.SuchSQLerzeugen;
Const
  SqlW = ' where ';
  SqlA = ' and ';
Var
  Aus : String;
  W  : Integer;

begin
  GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL;
// Praxisname
  If CheckList_SuchPrax.Checked[0] And (Ed_Praxisname.Text <> '')   Then
  Begin
     If Check_Exakt.Checked                                         Then
        Aus := SqlW + 'PRAXIS = '   + QuotedStr(Ed_Praxisname.Text) Else
        Aus := SqlW + 'PRAXIS like ' + QuotedStr('%' + Ed_Praxisname.Text + '%');
     GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
// Straße
//  If CheckList_SuchPrax.Checked[1] And (Ed_Strasse.Text <> '')      Then
  If CheckList_SuchPrax.Checked[1]                                  Then
  Begin
    If GLD.URec.Praxen_SQL = GLD.PraxenDefaultSQL                   Then
       GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL + SqlW           Else
       GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + SqlA;
     If Check_Exakt.Checked                                         Then
        Aus := 'STRASSE = '   + QuotedStr(Ed_Strasse.Text)         Else
        Aus := 'STRASSE like ' + QuotedStr('%' + Ed_Strasse.Text + '%');
    GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
// PLZ
//  If CheckList_SuchPrax.Checked[2] And (Ed_PLZ.Text <> '')          Then
  If CheckList_SuchPrax.Checked[2]                                  Then
  Begin
    If GLD.URec.Praxen_SQL = GLD.PraxenDefaultSQL                   Then
       GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL + SqlW           Else
       GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + SqlA;
     If Check_Exakt.Checked                                         Then
        Aus := 'PLZ = '   + QuotedStr(Ed_PLZ.Text)                 Else
        Aus := 'PLZ like ' + QuotedStr('%' + Ed_PLZ.Text + '%');
    GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
// Ort
//  If CheckList_SuchPrax.Checked[3] And (Ed_Ort.Text <> '')          Then
  If CheckList_SuchPrax.Checked[3]                                  Then
  Begin
    If GLD.URec.Praxen_SQL = GLD.PraxenDefaultSQL                   Then
       GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL + SqlW           Else
       GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + SqlA;
     If Check_Exakt.Checked                                         Then
        Aus := 'ORT = '   + QuotedStr(Ed_Ort.Text)                 Else
        Aus := 'ORT like ' + QuotedStr('%' + Ed_Ort.Text + '%');
    GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
// Homepage
//  If CheckList_SuchPrax.Checked[4] And (Ed_Homepage.Text <> '')     Then
  If CheckList_SuchPrax.Checked[4]                                  Then
  Begin
    If GLD.URec.Praxen_SQL = GLD.PraxenDefaultSQL                   Then
       GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL + SqlW           Else
       GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + SqlA;
     If Check_Exakt.Checked                                         Then
        Aus := 'HOME = '   + QuotedStr(Ed_Homepage.Text)           Else
        Aus := 'HOME like ' + QuotedStr('%' + Ed_Homepage.Text + '%');
    GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
// Email
//  If CheckList_SuchPrax.Checked[5] And (Ed_Email.Text <> '')        Then
  If CheckList_SuchPrax.Checked[5]                                  Then
  Begin
    If GLD.URec.Praxen_SQL = GLD.PraxenDefaultSQL                   Then
       GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL + SqlW           Else
       GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + SqlA;
     If Check_Exakt.Checked                                         Then
        Aus := 'MAIL = '   + QuotedStr(Ed_Email.Text)              Else
        Aus := 'MAIL like ' + QuotedStr('%' + Ed_Email.Text + '%');
    GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
// Telefon
//  If CheckList_SuchPrax.Checked[6] And (Ed_Telefon.Text <> '')      Then
  If CheckList_SuchPrax.Checked[6]                                  Then
  Begin
    If GLD.URec.Praxen_SQL = GLD.PraxenDefaultSQL                   Then
       GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL + SqlW           Else
       GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + SqlA;
     If Check_Exakt.Checked                                         Then
        Aus := 'TELEFON = '   + QuotedStr(Ed_Telefon.Text)         Else
        Aus := 'TELEFON like ' + QuotedStr('%' + Ed_Telefon.Text + '%');
    GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
// Wurde bereits eine Anfrage verschickt?
  If CheckList_SuchPrax.Checked[7] And Check_Anfrage.Checked        Then
  Begin
    If GLD.URec.Praxen_SQL = GLD.PraxenDefaultSQL                   Then
       GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL + SqlW           Else
       GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + SqlA;
    If Check_Anfrage.Checked Then
       W := 1                Else
       W := 0;
    Aus := 'GEMAILT = ' + IntToStr(W);
    GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
// Wurde die Anfrage bereits beantwortet?
  If CheckList_SuchPrax.Checked[8] And Check_Antwort.Checked        Then
  Begin
    If GLD.URec.Praxen_SQL = GLD.PraxenDefaultSQL                   Then
       GLD.URec.Praxen_SQL := GLD.PraxenDefaultSQL + SqlW           Else
       GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + SqlA;
    If Check_Antwort.Checked Then
       W := 1                Else
       W := 0;
    Aus := 'ANTWORT = ' + IntToStr(W);
    GLD.URec.Praxen_SQL := GLD.URec.Praxen_SQL + Aus;
  End;
end;

// ---------- Suche starten ------------------------------------------------------------------------------------------------------ Privat
Procedure TFormSuchPrax.SucheStarten;
Var
  i : Integer;
begin
  SuchSQLerzeugen;
  If Check_SuchResAktiv.Checked Then
  Begin
    i := GLD.URec.Praxen_Id;
    DatMod.View_Praxis.Active  := False;
    DatMod.View_Praxis.SQL.Text := GLD.URec.Praxen_SQL;
    DatMod.View_Praxis.Open;
    DatMod.View_Praxis.Locate('ID',i,[]);
  End;
  ModalResult := mrOk;
end;

// ##### PUBLIC METHODEN ################################################################################################################

// ---------- -------------------------------------------------------------------------------------------------------------------- Public

// ##### EREIGNISSE #####################################################################################################################

// ---------- On Show -------------------------------------------------------------------------------------------------------- Ereignisse
Procedure TFormSuchPrax.FormShow(Sender: TObject);
begin
  EinstellungenLesen;
  Ed_Praxisname.SetFocus;
end;

// ---------- On Close ------------------------------------------------------------------------------------------------------- Ereignisse
Procedure TFormSuchPrax.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  EinstellungenSchreiben;
end;

// ---------- Status eines Kontrollkästchens geändert ------------------------------------------------------------------------ Ereignisse
Procedure TFormSuchPrax.CheckList_SuchPraxClickCheck(Sender: TObject);
Var
  i : Integer;
begin
  If CheckList_SuchPrax.Checked[9] Then
  For i := 0 To CheckList_SuchPrax.Count-1 Do
      CheckList_SuchPrax.Checked[i] := False;
end;

// ---------- On KeyPress Editfelder ----------------------------------------------------------------------------------------- Ereignisse
Procedure TFormSuchPrax.Ed_PraxisnameKeyPress(Sender: TObject; var Key: Char);
begin
  If Key = #13 Then
  Begin
    Key := #0;
    SucheStarten;
  End;
end;

// ---------- Button Suche starten gedrückt ---------------------------------------------------------------------------------- Ereignisse
Procedure TFormSuchPrax.Btn_SuchClick(Sender: TObject);
begin
  SucheStarten;
end;

// ---------- Edits leeren --------------------------------------------------------------------------------------------------- Ereignisse
Procedure TFormSuchPrax.Btn_ClearClick(Sender: TObject);
begin
  Ed_Praxisname.Clear;
  Ed_Strasse.Clear;
  Ed_PLZ.Clear;
  Ed_Ort.Clear;
  Ed_Homepage.Clear;
  Ed_Email.Clear;
  Ed_Telefon.Clear;
  Check_Anfrage.Checked    := False;
  Check_Antwort.Checked    := False;
end;

// ---------- Suchfenster schließen ------------------------------------------------------------------------------------------ Ereignisse
Procedure TFormSuchPrax.Btn_CloseClick(Sender: TObject);
begin
  ModalResult := mrCancel;
end;

end.

Krupi 7. Sep 2015 12:51

AW: Suchfunktion in einem DBGrid
 
Danke für die ausführlichen Hilfen!

ich werde es mir jetzt in ruhe angucken :)

Sir Rufo 7. Sep 2015 13:01

AW: Suchfunktion in einem DBGrid
 
Wird gerne vergessen geht aber auch sehr schön Delphi-Referenz durchsuchenTDataSet.OnFilterRecord wenn die Suche auf die bereits gelesenen Datensätze erfolgen soll.

Sigi55 7. Sep 2015 13:45

AW: Suchfunktion in einem DBGrid
 
Hi,

oder man nimmt:

http://www.scalabium.com/smdbgrid.htm

Da kann man oben im Grid eine "Suchzeile" einblenden.

Gruß

Sigi

Krupi 8. Sep 2015 11:40

AW: Suchfunktion in einem DBGrid
 
danke nochmals für die guten vorschläge
hab diese auch verwendet jedoch ohne gutes ergebnis
jetzt bin ich total planlos

könnte mir vllt jemand ein beispiel geben mit code, wie ich in meiner anwendung auf meine datenbank zugreife und somit eine abfrage stellen kann?

Jumpy 8. Sep 2015 11:48

AW: Suchfunktion in einem DBGrid
 
Zitat:

Zitat von Krupi (Beitrag 1315089)
danke nochmals für die guten vorschläge
hab diese auch verwendet jedoch ohne gutes ergebnis
jetzt bin ich total planlos

könnte mir vllt jemand ein beispiel geben mit code, wie ich in meiner anwendung auf meine datenbank zugreife und somit eine abfrage stellen kann?

Es wurden dir doch massig Stichworte genannt.
Es wurde dir massig Code gezeigt von Perlsau.

Klar, dass das nicht so 100% zu deiner Anwendung passt, wie auch? Wir wissen nicht was du an Code bisher hast, wie sollen wir dir da zu einem Plan verhelfen?

mkinzler 8. Sep 2015 11:55

AW: Suchfunktion in einem DBGrid
 
Es kommt auch darauf an, ob Du das Ergebnis nur lokal filtern, im Grid zu einem bestimmten DS spingen oder eine neue Abfrage starten möchtest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz