Announcement

Collapse
No announcement yet.

Eingabe überprüfen.....

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eingabe überprüfen.....

    Hi Leute,

    ich hoffe mir kann einer von euch weiter Helfen.
    Ich habe eine kleine DB für CD´s, nun wollte ich
    bevor ich die Eingabe mache, abfragen ob die Nr
    in der DBEdit1.text steht schon in der Datenbank
    drin ist.
    Bekomme jetzt immer die Meldung, obwohl die
    Nr nicht in der Datenbank vorhanden ist.
    Was mache ich falsch?

    Hier der Code:

    procedure TForm1.DBEdit1Exit(Sender: TObject);
    begin
    If Table1.FieldByName('CD-Nr').value = DBEdit1.text then begin
    DBNavigator1.BtnClick(nbEdit);
    Showmessage ('CD-Nr exsestiert schon.');
    DBEdit1.SetFocus;
    DBEdit1.SelectAll;
    end;
    end;

    Danke schön im voraus

    Gruß Manfred

  • #2
    Moin Manfred

    ich gehe mal davon aus, das das TDBEDIT.Datafield ebenfalls mit 'CD-NR' referenziert ist.

    Das kann dann so nicht laufen. Der Inhalt von table1.fieldbyname('CD-NR').value und DBedit1.text ist immer identisch, da immer der gleiche Datenbankinhalt bereitsteht. Abhilfe kann der Einsatz einer TEDIT, TSPIN Komponente schaffen, wobei du dann aber noch Routinen zum Suchen einfügen musst. Oder noch besser einen Index mit (ixUnique) erzeugen. Weiter Informationen gibts in der Hilfe unter TTable.Indexdefs, bzw TIndexOptions.

    Gruß Erwi

    Comment


    • #3
      Hallo Manfred.
      <br>
      Beim verlassen des Feldes soll der Artikel angezeigt werden, wenn es ihn schon gibt, ansonsten soll ein neuer angelegt werden. Umgesetzt sieht das so aus:

      <code>
      <b>procedure</b> Tfrm.DBEdit1Exit(Sender: TObject);
      <b>var</b>
      ArtNr: <b>String</b>;
      <b>begin</b>
      <b>if</b> (DBEdit1.Text &lt;&gt; <font color="red">''</font>) <b>and</b>
      (DBEdit1.Modified = True) <b>then</b>
      <b>begin</b>
      ArtNr := DBEdit1.Field.AsString;
      Tbl.Cancel;
      <b>if</b> <b>not</b> Tbl.Locate(<font color="red">'Artikelnummer'</font>, ArtNr, []) <b>then</b>
      <b>begin</b>
      <font color="blue"><i>// tu hier was ganz wichtiges</i></font>
      <b>end</b>;
      <b>end</b>;
      <b>end</b>;
      </code&gt

      Comment

      Working...
      X