Michał C.

Michał C. CEE SAP
Implementation Data
Lead, Johnson &
Johnson

Temat: Relacje pomiędzy tabelami - trzy proste pytania

Witam

Pod dluzszej przerwie tworze obecnie baze Accessowa i mam trzy, wydaje mi sie ze proste, problemy z relacjami miedzy tabelami

1. Mam tabele Brandy (dwa pola - ID i nazwa), tabele Sub_Brandy (trzy pola - ID, nazwa i Brand, powiazane z tabela brandy) i tabele Produkty (cztery pola - ID, nazwa, Brand i Sub_Brand, powiazane z odpowiednimi tabelami)

Do powiazan uzywam Lookup Wizardow.

W jaki sposob mozna zdefiniowac pole Sub_Brand w tabeli Produkty tak, aby na liscie rozwijanej pojawialy sie jedynie te wartosci z tabeli Sub_Brand dla ktorych wlasciwosc Brand jest rowna wartosci pola Brand dla zmienianego rekordu?

2. Zalozmy, ze mam dwie tabele - Produkty (trzy pola - ID, Nazwa, Cena) oraz Dane (cztery pola - ID, Produkt, Cena, Ilosc)

Jak zrobic, zeby po wybraniu z listy produktu do pola cena od razu wskoczyla wartosc z tabeli Produkty?

3. Z pliku Excela importuje tabele Brandy (dwa pola - ID i Nazwa) oraz tabele Sub_Brandy (trzy pola - ID, Nazwa i Brand).

Po imporcie chce powiazac pole Brand z tabeli Sub_Brand z tabela Brand (wystepujace nazwy brandow sa w obu identyczne bo pochodza z tego samego zrodla), niestety po skonfigurowaniu LookUp Wizarda kasuje mi wartosc wszystkich pol Brand z tabeli Sub_Brand

W jaki sposob nalezy to zrobic zeby powiazac tabele bez tracenia danych?
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Relacje pomiędzy tabelami - trzy proste pytania

Ad 1) Formant lista ma właściwość RowSource w której można podać kwerendę wybierającą elementy (może być to kod SQL typu "SELECT * FROM tb WHERE ...") w ten sposób można filtorwać elementy w zależności od wartości w innym polu.

Ad 2) Skopiować dane z odpowiednich formantów na formularzu (nalepiej aby odpowiednie pola były na liście w tym cena, która nie musi być wyświetlana).

Ad 3) ???
Michał C.

Michał C. CEE SAP
Implementation Data
Lead, Johnson &
Johnson

Temat: Relacje pomiędzy tabelami - trzy proste pytania

Dziekuje za zainteresowanie :)

Odnosnie trzeciego punktu juz sobie poradzilem, wiec nie bede dalej tlumaczyc

Nie korzystam z zadnych formularzy, projektuje jedynie tabele (dane beda wprowadzane bezposrednio do tabel, glownie poprzez import - zawezenie wyboru do wartosci okreslonych wyborem brandu ma sluzyc sprawdzeniu poprawnosci) - moge wiec prosic o porady odnosnie tabel, nie formularzy?

Co do kwerendy - nie jestem biegly w SQL (kwerendy projektuje za pomoca kreatora), czy moglbys napisac przyklad takiej kwerendy do wklejenia w RowSource?

Wojciech Sobala:
Ad 1) Formant lista ma właściwość RowSource w której można podać kwerendę wybierającą elementy (może być to kod SQL typu "SELECT * FROM tb WHERE ...") w ten sposób można filtorwać elementy w zależności od wartości w innym polu.

Ad 2) Skopiować dane z odpowiednich formantów na formularzu (nalepiej aby odpowiednie pola były na liście w tym cena, która nie musi być wyświetlana).

Ad 3) ???

Wojciech Gardziński

Wypowiedzi autora zostały ukryte. Pokaż autora
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Relacje pomiędzy tabelami - trzy proste pytania

>
W jaki sposob mozna zdefiniowac pole Sub_Brand w tabeli Produkty tak, aby na liscie rozwijanej pojawialy sie jedynie te wartosci z tabeli Sub_Brand dla ktorych wlasciwosc Brand jest rowna wartosci pola Brand dla zmienianego rekordu?

Jeżeli masz Akcessa wcześniejszego niż 2010 to chyba nic. Od wersji 2010 obsługuje zdarzenia dla tabel więc można spróbować w tym miejscu zmienić RowSource dla pola w tabeli.

Jeżeli masz kwerendę zaprojektowaną w kreatorze to wystarczy przejść do widoku SQL i masz kod SQL dla danej kwerendy.

Następna dyskusja:

Trzy pytania z MS ACCESS.




Wyślij zaproszenie do