Relacyjna baza danych w Accessie, a delphi

0

Witam!
Mam zbudowana baze danych w accessie. Baza ta sklada sie z jednej duzej tabeli (ok. 800 rekordow) i powiazanej z niaj jest, za pomoca relacji, kilka mniejszych tabel (ok. 7 tabel). Do bazy podlaczylem sie poprzez Delphi, wykorzystujac technologie ODBC. Problemem jest to, ze moge tylko wyswietlac jedynie wartosci z jednej tabeli - jako komponent DBGird. Ja chcialbym wyswietlac w pojedynczych oknach typu 'pole edycji' tylko wybrane parametry z kilku tabel. Czy mozna takie cos zrobic? Tak samo chcialbym polaczyc wybrane kolumny z bazy z komponentami typu ComboBox? Czy musza to byc ComboBox-y standardowe, czy nalezy wykorzystac DBComboBox? Prosze o pomoc w tej sprawie. Moze byc nawet krotki skrypt napisany w jaki sposob mozna to zrobic.

0

Do wyświetlania złożonych zapytań na kilku tabelach wykorzystaj komponent Query, w ten sam sposób, jak zapewne używasz komponentu Table. We właściwości SQL wpisz kod zapytania SQL dla swojej bazy. Chcąc edytować dane za pomocą Edita lub ComboBoxa wrzucasz na formę DBEdit i DBComboBox. Właściwość DataSource ustaw na komponent Query, właściwość DataField na nazwę kolumny, którą chcesz edytować. W przypadku DBComboBox musisz wpisać Itemy. Edytowane są rekordy aktywne, czyli zaznaczone w DBGrid. Do wygodnej nawigacji po rekordach możesz wykorzytać komponent DBNavigator ustawiając jego DataSource na komponent Query.

0

Mozesz tez dwukrotnie kliknac na DBGrida i wyswietli ci sie edytor pól. Potem lewym przyciskiem myszki robisz ADD ALL FIELDS i mozesz sam decydowac potem co ma wyswietlac dany DBGrid. Pozdrawiam

0

DZIEKI ZA PODPOWIEDZI! 'hes', nie wiem czy dokladnie przeczytales mojego posta, ale ja zastanawiam sie czy mozna wyswietlac dane z kilku tabel jednoczesnie. Obecnie na tym pracuje i nie wiem, czy mozna to zrobic?! Jesli ktos wie jak to zrobic to prosze o odpowiedz. Mysle, aby to wyswietlac za pomoca pol edycji, dla ktorych bylyby odpowiednieo przypisane etykiety z nazwami kolumn z tabel - zobaczymy czy sie to uda, dlatego komponety DBGirg sa od razu skreslone (i nie chce z nich korzystac). Nie wiem tez, czy TQuery zadzilala dla kilku tabel jednoczenie, tak aby relacje byly zachowne. Prosze o pomoc w tej sprawie!

0

Może źle Cię zrozumiałem, ale w takim przypadku nadal źle Cię rozumiem. Formułując odpowiednie pytanie we właściwości SQL komponentu Query możesz wyświetlić wynik zapytania, dla którego źródłem danych będzie wiele tabel.

Przykładowo 2 tabele w bazie hmmm... biblioteka:

KSIĄŻKI (id, tytul, autor)
PÓŁKI (id, id_książki)

Chcemy wyświetlić wszystkie półki wraz ze zajdującymi się na nich tytułami:

SELECT p.id AS nr_polki, k.tytul, k.autor
FROM ksiazki k, polki p
WHERE p.id_ksiazki=k.id

Wrzucając wynik tego zapytania do DBGrida mamy w nim dane z kilku tabel? Nie o to chodziło?

0
tao napisał(a)

...odpowiednieo przypisane etykiety z nazwami kolumn z tabel - zobaczymy czy sie to uda, dlatego komponety DBGirg sa od razu skreslone...

Tytuły kolumn w DBGRid przyjmą nazwy tych kolumn, chyba, że wartość w danej kolumnie zostanie zdefiniowana jako funkcja. Zawsze można kliknąć dwukrotnie na DBGrida i przypisać mu na stałe kolumny wraz z ich tytułami.
Jeśli jednak chcesz zrezygnować z DBGrida w celu stworzenia bardziej przejrzystego formularza zawierającego dane z wielu tabel powiązanych ze sobą, to i tak nie unikniesz zastosowania Query z odpowiednim zapytaniem.

0

Panowie mam baze danych dokładnie taką jak w temacie nie mam problemu z wyświetleniem kilku tabel w i jednym gridzie tylko nie moge sobie poradzić z modyfikacja rekordów. Usuwanie, dodawanie, modyfikacja. Np w pola edit wpisuje dane i za pomocą jakiegoś buttona wpisuje dane. Pomożecie?? :|

To dość pilna sprawa prosze o kontakt na gg:6034809

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