witam
napisałem prostą aplikacje opartą o baze danych dBase for Windows, i sama aplikacja działa dobrze. do obsługi rekordów w bazie danych używam DBNavigatora i wszystko byłoby pięknie, gdyby nie to, że nie wiem jak zrobić sprawdzanie czy wszystkie pola na formatce zostały wypełnione przed dodaniem do bazy. próbowałem w zdarzeniu BEFOREACTION tego nawigatora umieścić kod sprawdzający i wyświetlający komunikat i stosowałem tam nawet funkcje EXIT, ale sprawdzenie nastąpiło, komunikat sie wyświetlił a i tak rekordy z pustymi polami zostały wprowadzone do bazy. potem wprowadziłem taką procedure:
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
var
plik: textfile;
i: integer;
tmp, nowy: string;
jest: boolean;
begin
if (DBEdit1.Text<>'') and (DBComboBox1.Text<>'') and (DBComboBox2.Text<>'') and
(DBComboBox3.Text<>'') and (DBComboBox4.Text<>'') and (DBComboBox5.Text<>'') then
begin
//tu obsługa kolejnych instrukcji
end
else
begin
Showmessage('Nie wypełniłeś wszystkich wymaganych pól!');
exit;
end;
end;
ale niestety to też nie skutkuje. próbowałem też użyć try...finally ale pomimo tego że wyświetlało komunikat to i tak rekord był wpisywany do bazy. stąd moje pytanie - czy ktoś z Szanownych Forumowiczów mógłby mi podsunąć jakiś pomysł jak inaczej to rozwiązać, ewentualnie jak napisać procedurę dla konkretnego przycisku w DBNavigatorze (wiem jak zasymulować naciśnięcie danego przycisku ale nie wiem jak sie rozpoznać ten, który został naciśnięty). za wszelką pomoc i podpowiedzi z góry dziękuje i pozdrawiam
stupido