Autor Beitrag
Philipp_Reitter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 430



BeitragVerfasst: Do 25.05.06 11:00 
hi

ich hab ne datenbank in einem DBgrid nur jetzt will cih so was wie nen filter drinnen haben.... es sieht so aus

Kategorie Name Bezeichnung
10 1 k10n1
10 2 k10n2
11 1 k11n2
...
..

kann man da irgendwie sagen dass er nur die die am anfang 10 haben hineintzun soll...??

hoffe mir kann jemand helfen

danke im vorraus


Zuletzt bearbeitet von Philipp_Reitter am Do 25.05.06 11:52, insgesamt 2-mal bearbeitet
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 25.05.06 11:06 
dazu brauchst du ein query und sql. Verknüpfe die DBGrid mit dem Query und schreibe ins Query
SELECT * FROM Deine_Tabelle WHERE dasFeld LIKE ''10%''

Das % bedeudet, dass nach der 10 noch beliebig viele Zeichen kommen können

Xion

EDIT: ich glaube das Table hat ein Feld namens 'Filter' im Object Inspector. da kannst dann dasFeld LIKE ''10%'' reinschreiben und Filter aktivieren (da muss auch noch ne boolean-variable im OI sein ;) )


EDIT 2: nenn dein Topic besser in 'BDE: Filter in DBGrid' um

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Philipp_Reitter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 430



BeitragVerfasst: Do 25.05.06 12:08 
nix check..... hab das jetzt volle oft prbiert aber es kommt nichts heraus....
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 25.05.06 12:17 
du hast doch ein Table, oder? Klick das an und schreibe unter Filter:
FELD LIKE '10%'
und schalte Filtered auf TRUE

so müsste es gehen.

oder aber mit SQL (Stichwort Query)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Philipp_Reitter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 430



BeitragVerfasst: Do 25.05.06 17:49 
dann sagt er aber 'Operation nicht anwendbar'
thommy f
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

Windows 2K pro
Delphi 5 Enterprise
BeitragVerfasst: Fr 26.05.06 20:08 
Probier´s mal so:

ausblenden Delphi-Quelltext
1:
2:
    Datenmodul.Table1.Filter :='Kategorie = ''10''';
    Datenmodul.T_Kunden.Filtered := True;


Auf die Zahl der Hochkommas aufpassen und den Quellcode z.B. beim OnShow-Ereignis deines DBGrid einbauen.

Sollte gehen

_________________
Der Mensch wächst mit seinen Aufgaben *** Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Fr 26.05.06 20:13 
Das Problem mit den Hochkommas kann man z.B, auch so umgehen:
ausblenden Delphi-Quelltext
1:
Datenmodul.Table1.Filter :='Kategorie = '+QuotedString('10%');					


Clientseitige Filter per .Filter-Eigenschaft sind aber nicht optimal, besser wäre es einen TQuery anstatt eines TTable zu nehmen und dann ein "Filter" per SQL-Where-Clause zu machen.

_________________
Markus Kinzler.
raiguen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 374

WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
BeitragVerfasst: Di 30.05.06 15:45 
Moin :)
user profile iconmkinzler hat folgendes geschrieben:
Das Problem mit den Hochkommas kann man z.B, auch so umgehen:
ausblenden Delphi-Quelltext
1:
Datenmodul.Table1.Filter :='Kategorie = '+QuotedString('10%');					


Prinzipiell richtig, wenn der Filterbegriff ein String ist. Allerdings bei TTable (unter Verwendung der BDE) ist das WildCardZeichen %nicht richtig und versucht den beschriebenen Fehler 'Unzlässige Operation' bzw 'Operation nicht anwendbar'. Wenn Clientseitig gefiltert werden soll (oder muss) dann muss der Filterausdruck so heißen:
ausblenden Quelltext
1:
Datenmodul.Table1.Filter :='Kategorie = '+QuotedString('10*');