Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi DATENSATZ vergleichen (https://www.delphipraxis.net/109106-datensatz-vergleichen.html)

EddieMcCool 24. Feb 2008 16:19


DATENSATZ vergleichen
 
[delphi]habe diesen quelltext:

Delphi-Quelltext
ausgeblendet markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
form3.Table1.Insert;
form3.Table1.FieldValues['Datum'] := dbedit2.text;
form3.Table1.FieldValues['Stunde'] := DBLookupComboBox3.text;
form3.Table1.FieldValues['Haus'] := DBLookupComboBox1.text;
form3.Table1.FieldValues['Raum'] := DBLookupComboBox2.text;
form3.Table1.FieldValues['Klassenstufe'] := DBLookupComboBox4.text;
form3.Table1.FieldValues['Klasse'] := DBLookupComboBox5.text;
form3.Table1.FieldValues['Fach'] := DBLookupComboBox6.text;
form3.Table1.FieldValues['Materialien'] := DBLookupComboBox7.text;
form3.Table1.FieldValues['Lehrer'] := dbedit1.text;
form3.Table1.Post;
end;


end.

jetzt soll wenn die ersten vier fieldvalues bereits schon hintereinander in einem datensatz vorhanden sind eine fehlermeldung erscheinen und nicht der gleiche datensatz noch einmal in der tabelle auftachen. er soll nur speichern wenn nicht alle vier values schon mal hintereinander in einem datensatz vorhanden.
hoffe jemand hat eine ahnung ich weis einfach nich wie ich dass machen soll.
aber trotzdem schon mal danke an alle. (Ps.: bin anfänger und habe eine paradox tabelle benutzt mitSql etc. konnte ich mich noch nicht anfreunden, vielleicht hat jemand ne einfache iddee die ich auch verstehe)

marabu 24. Feb 2008 17:17

Re: DATENSATZ vergleichen
 
Herzlich willkommen in der Delphi-PRAXiS, EddieMcCool.

Du kannst mit der Methode Locate() deiner Table überprüfen, ob der entsprechende Datensatz bereits existiert:

Delphi-Quellcode:
 procedure TForm2.BitBtn2Click(Sender: TObject);
begin
  with Form3.Table1 do
  begin
    if Locate('Datum;Stunde;Haus;Raum', VarArrayOf([
        DBEdit2.Text, DBLookupComboBox3.Text, DBLookupComboBox1.Text, DBLookupComboBox2.Text]), [])
      then Edit
      else Insert;
    FieldValues['Datum'] := dbedit2.text;
    FieldValues['Stunde'] := DBLookupComboBox3.text;
    FieldValues['Haus'] := DBLookupComboBox1.text;
    FieldValues['Raum'] := DBLookupComboBox2.text;
    FieldValues['Klassenstufe'] := DBLookupComboBox4.text;
    FieldValues['Klasse'] := DBLookupComboBox5.text;
    FieldValues['Fach'] := DBLookupComboBox6.text;
    FieldValues['Materialien'] := DBLookupComboBox7.text;
    FieldValues['Lehrer'] := dbedit1.text;
    Post;
  end;
end;
Getippt und nicht getestet.

Freundliche Grüße vom marabu

PS: Coole Namen haben deine Komponenten - DBEdit2, ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr.

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-2025 by Thomas Breitkreuz