Table1 - odejmowanie...

0

siemka, mam tabele Table1 z 2-ma kolumnami: X(wypełniona liczbami) i wynik(pusta) oraz wartość stałą (np: podaną w edit1)
Problem: chce żeby każdy wiersz z kolumny X był odejmowany od wartości podanej w edit1, a wyniki żeby były zapisane w kolumnie: wynik.

pomóżcie ludzie bo do jutra jak tego nie rozwiąże to dostane kulke w łeb od bossa ...

0

Jeśli dobrze zrozumiałem, chodzi Ci o to, aby w polu WYNIK była zapisywana wartość (TO_CO_W_EDIT-CIE) - X.
Napisałeś, że kolumna X jest wypełniona liczbami, ale nie podałeś jakimi liczbami. Ja w poniższym przykładzie przyjmuję integer.
Rozwiązanie:

procedure SZWECJA_DANIA_2_2___GOODBYE_ITALIA;
var
  E, rno: integer;
begin
  rno := Table1.RecNo; // zapamiętanie bierzącego rekordu
  E := StrToInt(Edit1.Text);
  Table1.First;

  while not Table1.Eof do
  begin
    Table1.Edit;
    Table1.FieldByName('WYNIK').AsInteger := 
      E - Table1.FieldByName('X').AsInteger;
    Table1.Post;
    Table1.Next;
  end;

  Table1.RecNo := rno;
end;

// dopisek
Ludomir ma rację.
Edit powinno być wykonywane w pętli, a nie tylko raz przed pętlą.
Teraz już powinno działać.

0

ej Jack, sprawdz u siebie, nie dziala na pętli, wprowadza tylko jedną wartosc do pierwszego pola ...
Pojawia sie komunikat: Dataset not in edit or insert mode

Pomimo że ustawiłem do edytowania tabele w opcji: goediting; chyba ze to inny problem ... ;-( [cygaro]

0

Table1.Edit;

while not Table1.Eof do
begin
Table1.FieldByName(\'WYNIK\').AsInteger :=
E - Table1.FieldByName(\'X\').AsInteger;
Table1.Post;
Table1.Next;
end;
</delphi>

a moze tak by zrobił:

  while not Table1.Eof do
  begin
    Table1.Edit;
    Table1.FieldByName('WYNIK').AsInteger := 
      E - Table1.FieldByName('X').AsInteger;
    Table1.Post;
    Table1.Next;
  end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1