AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi In Form mehrere Edits zum suchen verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

In Form mehrere Edits zum suchen verwenden

Ein Thema von Albi · begonnen am 5. Jun 2003 · letzter Beitrag vom 6. Jun 2003
Antwort Antwort
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#1

In Form mehrere Edits zum suchen verwenden

  Alt 5. Jun 2003, 18:03
Ich habe folgendes Problem mit dem einfach nicht weiter komme.
Ich habe ein Form mit meheren Editfeldern, ich will nun das wenn in einem der Felder einen Namen Einträg, nach diesem in der DB gesucht wird.

Ich habe es mit einer Case .. of Einweisung versucht, was ja funktioniert, wenn man "SortDs(0)" in die Abfrage hinschreibt aber das bringt mich ja nicht weiter. Ich müßte diesen Wert ja irgendwie übergeben bekommen.

Zum Bsp. ich klicke auf das Edit1 und der dann sucht er nach er Nummer oder ich klicke in Edit2 und er sucht nach dem Namen.

Ich hoffe ihr habt verstanden, was ich hinaus will.

Delphi-Quellcode:
begin
 Saved:= True;
 Form1.Query1.Close;
 Form1.Query1.SQL.Clear;
 If DBKuNr.GetTextLen = 0 Then
  Form1.Query1.SQL.Add('SELECT * FROM "'+Pfad+'"')
 else
 //Form1.Query1.SQL.Add('Select * FROM "'+Pfad+'" WHERE DB_KuNr ='+DBKuNr.Text);
 SortDS(Sort)); Hier sollte die Anweisung übergeben
 Form1.Query1.Active:= true;
 DBAnrede.Text:= Form1.Query1.FieldByName('DB_Anrede').AsString;
 DBTitel.Text:= Form1.Query1.FieldByName('DB_Titel').AsString;
 DBVorName.Text:= Form1.Query1.FieldByName('DB_VorName').AsString;
Ich dachte mir, ich übergebe den Wert, wenn ich auf das entsprechende Feld klicke aber da kommt es zu einem Fehler wegen Bytew und String.

Hier noch die Case .. of

Delphi-Quellcode:
begin
  Case m of
     0: Begin
        Sort:= 'Select * FROM "'+Pfad+'" WHERE DB_KuNr ='+DBKuNr.Text+'';
        end;
     1: Begin
        Form1.Query1.SQL.Add('Select * FROM "'+Pfad+'" WHERE DB_Vorname Like ''%'+DBVorname.Text+'%''');
        end;
     end;
end;
[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit]
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#2
  Alt 5. Jun 2003, 21:32
Ich bin mir sicher, Dein Problem ist nicht so schwierig. Aber Du schreibst derart verworren, es ist leider nicht zu erkennen, wo Dein Prolbem liegt.
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 6. Jun 2003, 05:44
Ich will kurz gesagt, einen SQL String abhängig von dem Editfeld in den oben gezeigten Code übergeben.

So das ich in einem Form in mehren Feldern suchen kann.

Beipiel: Ich habe 3 Edit Felder, Edit1 = Nr, Edit2 = Name, Edit3 = Vorname. Nun will ich, das wenn ich in Edit1 ne Zahl schreibe, nach dieser Zahl gesucht wird, wenn ich in Edit2 nen Namen schreibe, nach dem Namen gesucht wird usw..

ist jetzt klar geworden was ich will?
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#4
  Alt 6. Jun 2003, 06:37
Du hast recht gehabt, die Lösung ist ganz einfach. Man nehme eine String variable und setzt in das Edit-Change einfach den SQLString und in der Abfrage schriebt man nur noch Query1.SQL.Text:= Sort (Variable).

Delphi-Quellcode:
procedure TForm2.Edit2Change(Sender: TObject);
begin
Saved:= False;
Sort:= ('SELECT * From Test.db WHERE ID ='+Edit2.Text+'');
end;
Delphi-Quellcode:
Try
  Form1.Query1.SQL.clear;
  Form1.Query1.SQL.Text:= Sort;
  Form1.Query1.Active:= True;
  If Form1.Query1.RecordCount = 0 Then
    ShowMessage('Keine Daten!')
     else
  Form2.Edit1.Text:= Form1.Query1.fieldByName('Test1').AsString;
  Form2.Edit2.Text:= Form1.Query1.fieldByName('Test2').AsString;
  Saved:= True;
 except
end;
[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr.
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