Pozwolę sobie poszerzyć odpowiedź @abrakadaber ...
Jakich komponentów do baz danych używasz?
Banalna sprawa:
if Idzien <> wDay then
begin
Tab_dzien.Active := True;
Tab_dzien.Append ;
Tab_dzien.FieldByName('Nr_dnia').value := wDay;
Tab_dzien.Active := False ;
end;
Chcę numer dnia wpisać do tabeli.
Skoro tak, to powinieneś użyć bezpośrednio polecania SQL insert into
- korzystanie z DataSetu (tab_dzień) do tego w takim przypadku jest niepotrzebne i nadmiarowe. No, ale można i tak.
Błędu nie wyrzuca, a wpisywać nie wpisuje, choć warunek if jest spełniony i procedura wewnątrz begin-end jest wykonywana.
Ależ nie. Informacja jest zapisywana do DataSetu (a dokładnie - do pola o nazwie "nr_dnia"), ale Ty jej po prostu nie zatwierdzasz.
Zamiast zatwierdzić zmiany, zamykasz DataSet - no to nie dziwne, że nic się nie zapisze.
Gdzie szukać rozwiązania.
AK
Nie wiem, może przejrzyj jakiś poradnik do poczatkujacych?
A ten kod, aby działał, powinien wyglądać tak:
if Idzien <> wDay then
begin
// po co otwierasz za każdym razem DataSeta?
Tab_dzien.Open;
// Dodanie nowego wiersza
Tab_dzien.Append ;
// Przypisanie wartości do pola "Nr_dnia"
Tab_dzien.FieldByName('Nr_dnia').Value := wDay;
// Zatwierdzenie zmian do bazy danych
Tab_dzien.Post;
Idzien := wDay;
// i po co on jest zamykany?
Tab_dzien.Close;
end;