Delphi + ADO- dostęp do jednej bazy na różnych formach w projekcie

0

Witam serdecznie. Piszę aplikację, która korzysta z bazy w formacie Accessa, łączę się przez ADO. Baza składa się z wielu tabel, z których każda ma być wyświetlana w kilku oknach- np.: część tabeli "Użytkownicy" jest pokazywana na głównej formie, a dokładny widok wszystkich rekordów wraz z możliwością ich edycji ma być w oddzielnym oknie. Podobnie z innymi tabelami- chcę mieć w sumie kilkanaście form, każda do obsługi innej tabeli, ale główna forma ma pobierać dane z wszystkich tabel. Obecne rozwiązanie wygląda tak: mam główną formę i formę "Użytkownicy", w której edytuję użytkowników. Ta druga forma wywoływana jest modalnie przez główną formę. Ma swój własny zestaw kontrolek DataSource, ADOConnection, itp- nie mogę podpiąć formy modalnej pod kontrolki z formy głównej- nie widać ich, dlatego stosuję oddzielny zestaw. Wszystko niby działa, ale po wprowadzeniu zmian w tabeli korzystając z formy "Użytkownicy", jak wrócę do głównej formy, to widzę ciągle starą zawartość tabeli. Jak mogę poprawić działanie aplikacji? Pozdrawiam, Tomek.

0

bez sensu.
korzystaj z jednego adoconnection. Nawet tego z formy głównej. Jak forma2 ma korzysta z modułu formy głównej, to musisz widzieć te komponenty.
Możesz również korzystać z datasource na formie głównej (jeśli akurat edytowana tabela jest tam wyświetlana przez jakiś datasource). Wtedy nic nawet nie musiał byś robić, aby odświeżyć wyświetlaną tabele. Jak byś potrzebował zrobić coś bardziej skomplikowanego, to wystarczy że zobaczysz co zwraca okno modalne (integer), i odpowiednio odświeżasz datasety. Najprościej close-open. Może pokaż co do tej pory zrobiłeś, prościej będzie coś powiedzieć.

0

Nie widzę niestety ADOConnection z formy głównej na formie Użytkownicy... Czy mam w jakiś sposób zmienić ustawienia komponentów? Póki co w przycisku wyświetlającym drugą formę, mam wpisane jedynie 'a:=form2.showmodal;'.

1

W interfejsie modułu z formą drugą, na górze, w uses, dopisz nazwę modułu, w którym jest zdefiniowana forma główna, np unit1. Powinieneś wtedy widzieć komponenty z formy głównej, pracując na edytorze formatki drugiej.

0

Działa! Dziękuję za pomoc! Pozdrawiam!

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