Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi nur bestimmte einträge im dbgrid anzeigen (https://www.delphipraxis.net/13193-nur-bestimmte-eintraege-im-dbgrid-anzeigen.html)

Fengi 12. Dez 2003 19:51


nur bestimmte einträge im dbgrid anzeigen
 
wie kriege ich es hin das im dbgrid nur die datensätze in meinem dbgrid angezeigt werden die für das entsprechende datum zutreffen?
habe eigentlich eine bedingung geschrieben,aber die haut irgendwie nicht hin... :

Delphi-Quellcode:
table1.First;
i:=0;
  while not table1.Eof do
  begin
  i:=i+table1.FieldByName('Terminnummer').AsInteger;
  table1.Next;
  end;

if datetostr(monthcalendar1.Date) = table1.FieldByName('Datum').AsString then
   begin
   for n:=0 to i do begin
   dbgrid1.Fields[n].Text:=table1.Fields.Fields[n].AsString;
                    end;
   end
   else
   messagedlg('Keine Termine für dieses Datum vorhanden!',mtinformation,[mbok],0);
ergebnis:er gibt trotzdem alle abgespeicherten termine aus. :wall:

und wenn ich grad dabei bin:ich würde wirklich gern nur ausgewählte komponenten aus meiner datenbank in meinem dbgrid anzeigen.wie ist die bedingung dafür?
:wiejetzt:

[edit=r_kerber]Delphi-Tags gesetzt! Mfg, r_kerber[/edit]

Luckie 12. Dez 2003 19:55

Re: nur bestimmte einträge im dbgrid anzeigen
 
Von DB's hab eich keine große Ahnung. aber ich weiß, dass man so was mit Queries macht.

r_kerber 12. Dez 2003 20:00

Re: nur bestimmte einträge im dbgrid anzeigen
 
Hallo Fengi,

zunächst erst einmal herzlich willkommen in der Delphi-Praxis. Als erstes ein Heinweis. Wenn Delphi-Code in die Dalphi-Tags einbettest (Button "Delphi-Code") dann ist er besser lesbar. Und: Jede Frage ein eigener Thread.
Zur Frage: Im DBGrid wird zunächst der gesamte Inhalt einer DB-Tabelle angezeigt. Du hast jetzt die Möglichkeit, einen Filter zusetzen (Eigenschaften Filter und Filtered von TTable). Alternativ kannst Du auch eine TQuery benutzen und schreibst ein entsprechendes SQL-Statement.
Abschließend muß ich gestehen, dass ich Deinen Quellcode nicht so ganz verstehe, vor allem den zweiten teil. :wall:

eddy 12. Dez 2003 20:03

Re: nur bestimmte einträge im dbgrid anzeigen
 
Hallo Fengi,

vorausgesetzt Du redest von einer Paradox-Datenbank:

Code:
var
  s : string;
begin
  ....
  s := datetostr(monthcalendar1.Date); //enthält dann z.B.: 23.11.2003
  tab.Filter := 'Datum=''' + s + '''';
  tab.Filtered := true;
  ....
  // wenn Datensätze vorhanden sind tu was
  if tab.RecordCount > 0 then begin
    ....
  end;
  ....
  tab.Filtered := false;
end;
tab.RecordCount sollte den Wert ändern, sobald das Filter auf true gesetzt wird

mfg
eddy

SirThornberry 12. Dez 2003 20:06

Re: nur bestimmte einträge im dbgrid anzeigen
 
wenn du es nicht hinn bekommst mit dem query gehe einfach das ergebnisquery durch und sortier anhand der werte mit nem delphiprog aus

woki 12. Dez 2003 20:07

Re: nur bestimmte einträge im dbgrid anzeigen
 
Hi,

du kannst es, wie Lucky anmerkte, mit Queries (statt deiner Table) erledigen und eine Filterbedingung in SQL verwenden, oder du kannst bei den Tables bleiben und hier eine Filterbedingung einführen.
Das was Du machst sieht so aus, als gäbe es da noch ein grundsätzliches Verständnisproblem, wie TDBGrid, TDatasource und TTAble bzw TQuery zusammenarbeiten.

Eine Anmerkung noch: Ich würde dich bitten, gleich bei der Frage die grundlegensten Informationen mitzugeben, die wesentlich für die Antwort sein könnten, bei dir kann man nur raten, das du mit der BDE, dbase oder Paradox, TTable und TDBgrid arbeitest. Diese runraten vernichtet aber unnotigerweise viel Zeit bei den Leuten, deren Hilfe Du haben möchtest.

Grüsse
Woki

eddy 12. Dez 2003 20:08

Re: nur bestimmte einträge im dbgrid anzeigen
 
Hallo r_kerber,

der Quelltext ist auch nicht zu verstehen und funktioniert ja auch nicht. Was Fengi will, hat er oder sie ja im Text beschrieben.

mfg
eddy

eddy 13. Dez 2003 18:27

Re: nur bestimmte einträge im dbgrid anzeigen
 
Hallo Fengi,

hat das Zeug, das wir Dir geschrieben haben, etwas genützt oder sollen wir uns den Aufwand auf unklare Fragen zu antworten künftig sparen?

mfg
eddy

Fengi 2. Jan 2004 17:09

Re: nur bestimmte einträge im dbgrid anzeigen
 
ich hab immer noch keinen plan wie ich das hinbekommen soll...
ich habe eine paradox datenbank (table 1).
die hat folgende komponenten:
Terminnummer,Datum;Uhrzeit;Beschreibung;Intervall; Wiederkehrender Termin und Hilfsdatum.
ich will aner NUR Datum;uhrzeit und beschreibung angezeigt haben in meinem dbgrid 1.
wenn das mit queries oder über filter geht ist das ok.aber ich weiß nicht was ich da schreiben soll das es klappt. :?
wie soll ich da den quelltext schreiben? :gruebel:

eddy 2. Jan 2004 17:39

Re: nur bestimmte einträge im dbgrid anzeigen
 
Hallo Fengi,

das war aber nicht Deine erste Frage!

Code:
    dbg1.Columns.Clear;
    i := 0;
    dbg1.Columns.Add;
    dbg1.Columns.Items[i].FieldName := 'Datum';
    dbg1.Columns.Items[i].Width := 150;
    inc(i);
    dbg1.Columns.Add;
    dbg1.Columns.Items[i].FieldName := 'uhrzeit';
    dbg1.Columns.Items[i].Width := 250;
    inc(i);
    dbg1.Columns.Add;
    dbg1.Columns.Items[i].FieldName := 'beschreibung';
    dbg1.Columns.Items[i].Width := 400;
mfg
eddy


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 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