Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Abfrage per Eingabe (https://www.delphipraxis.net/24203-abfrage-per-eingabe.html)

Stevie 18. Jun 2004 10:59

Re: Abfrage per Eingabe
 
Zitat:

Zitat von abi
Hallo Stevie
des hab ich mir auch gedacht aber da kommt dann nichts.

Leider.

Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  // mit Trim werden Leerzeichen gelöscht, wenn also im Edit nix drinsteht, wird der Filter geleert und die Funktion beendet
  if Trim(Edit1.Text) = '' then
  begin
    DBGrid1.DataSource.DataSet.Filter := '';
    Exit;
  end;
  if GeberBezeichnung2.Checked then DBGrid1.DataSource.DataSet.Filter := 'Geber_Bezeichnung = ''' +Edit1.Text+ '*''';
  if DeviceName2.Checked      then DBGrid1.DataSource.DataSet.Filter := 'Device_Name = ''' +Edit1.Text+ '*''';
  if Seriennummer2.Checked    then DBGrid1.DataSource.DataSet.Filter := 'Seriennummer = ''' +Edit1.Text+ '*''';
  if Auflsung2.Checked        then DBGrid1.DataSource.DataSet.Filter := 'Auflösung = ''' +Edit1.Text+ '*''';
  if DatumUhrzeit2.Checked    then DBGrid1.DataSource.DataSet.Filter := 'Datum_Uhrzeit = ''' +Edit1.Text+ '*''';
  if Arbeiter2.Checked        then DBGrid1.DataSource.DataSet.Filter := 'Arbeiter = ''' +Edit1.Text+ '*''';
  if Abteilung2.Checked       then DBGrid1.DataSource.DataSet.Filter := 'Abteilung = ''' +Edit1.Text+ '*''';
  if HardwareVersion2.Checked then DBGrid1.DataSource.DataSet.Filter := 'Hardware_Version = ''' +Edit1.Text+ '*''';
  if SoftwareVersion2.Checked then DBGrid1.DataSource.DataSet.Filter := 'Software_Version = ''' +Edit1.Text+ '*''';
end;
Btw: Dir ist aber schon klar, dass wenn mehrere Checkboxen angehakt sind, die letzte "gewinnt"?

abi 18. Jun 2004 11:02

Re: Abfrage per Eingabe
 
hab ich doch gemacht und es passiert folgendes.

ich sehe einfach überhaupt keine Daten mehr.

Erst wenn ich wieder was eingebe.

abi 18. Jun 2004 11:03

Re: Abfrage per Eingabe
 
Danke Stevie
das mit dem CheckBoxen hab ich so gelöst das immer nur eine Active sein kann.

Deshalb ist des so schon OK.

Danke.

abi

Stevie 18. Jun 2004 11:07

Re: Abfrage per Eingabe
 
Zitat:

Zitat von abi
Danke Stevie
das mit dem CheckBoxen hab ich so gelöst das immer nur eine Active sein kann.

Deshalb ist des so schon OK.

Danke.

abi

Klappt's jetzt also, ja?
Für Selektionen, bei denen nur eine Option auswählbar sein soll benutzt man doch eher ne RadioGroup...

abi 18. Jun 2004 11:07

Re: Abfrage per Eingabe
 
Funktioniert wunderbar.

Mercy nochmal an alle.

abi

abi 18. Jun 2004 11:09

Re: Abfrage per Eingabe
 
Ja da hast du schon recht.

Aber ich hab des einem PopupMenu gemacht.

Vielleicht sollte ich es noch ändern, dann kann wenigstens weniger schieff gehen.

BluesKid 18. Jun 2004 11:11

Re: Abfrage per Eingabe
 
Moin moin

nen bischen off-topic aber:
Delphi-Quellcode:
  'Bezeichnung LIKE ''' + Edit1.Text + '%'''
ist das selbe wie:
Delphi-Quellcode:
  'Bezeichnung LIKE ' + Edit1.Text + '%'

für einfache Anführungszeichen:
Delphi-Quellcode:
  'Bezeichnung LIKE '+ quotedstr(Edit1.Text+'%')

schönen Gruß

Sam

abi 18. Jun 2004 12:15

Re: Abfrage per Eingabe
 
Ich hab doch noch ein Problem.

Jetzt geht alles ausser Auflösung und Datum Uhrzeit.

Dies habe ich in meiner Paradox Tabelle folgender massen deklariert.

Auflösung ist ein Integer wert
und
Datum Uhrzeit ist das @ Zeichen.

Der Rest ist immer A für String.

Muss ich da vielleicht anderes abfragen, oder mein String umwandeln.

abi

Stevie 18. Jun 2004 12:26

Re: Abfrage per Eingabe
 
Mit Paradox kenn ich mich überhaupt nicht aus, aber ich würde sagen, du musst auf jeden Fall die Typen umwandeln.

Albi 18. Jun 2004 12:49

Re: Abfrage per Eingabe
 
Such mal hier nach, also Du kannst über StrToDate(...) deinen String in ein Datumsformat konvertieren. Das mußt Du auch machen, da die DB es ansonsten nicht erkennt.

Zur Sicherheit würd ich aber noch mal hier im Forum suchen, das Thema wurde schon des öffteren Besprochen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 Uhr.
Seite 4 von 4   « Erste     234   

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