Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pole kombi zależne od wartosci poprzedniego pola w tabeli
Forum PHP.pl > Forum > Bazy danych > Access
wojciechwww
Witam exclamation.gif! smile.gif

Proszę bardzo o pomoc w następującym problemie sad.gif

Otóż mam trzy tabele:Pracownik, Kierownik, GrPracownikow
 
Typy sprzężeń są wszędzie typu 1 czyli "Zawiera tylko te wiersze w których sprzężone pola w obu tabelach są równe"

1) W tabeli Pracownik wybieram za pomocą pola kombi ID_kierownik jednego z kierowników tabeli Kierownik.
2) Chciałbym w drugim kroku aby następne pole kombi wybierło tylko te ID_GrPrac (ID grupy pracowników) z tabeli GrPracownikow, 
które w polu ID_kierownik mają taką samą wartość jak pole ID_kierownik w aktualnie uzupełnianym rekordzie (danych pracownika) tabeli Praco
nik

Sama hierarchia między tabelami jest OK (tak jak chciałem) czyli
Pod osobę KIEROWNIK
podlegają GrPracownikow
na które składa się lista pewnych PRACOWNIKÓW

Poniżej rysunki




BARDZO PROSZĘ O POMOC GDYŻ ŚCIERAM SIĘ Z TYM JUŻ MIESIĄC a niedługo musze oddać gotową bazę na studiach i brak możliwości automatycznego segregowania możl
wych
 do wybrania GrupPracowników w zależności od wybranego już Kierownika będzie kos
towało mnie
minimalnie jeden stopień mimo mojej ciężkiej pracy :/

Jeśli ktoś mi pomoże kilka razy to napewno postaram się jakoś odwdzięczyć

Dodam jeszcze że :
Wykonałem już tyle kombinacji, że już nie wiem czy zrobiłem błąd w typach sprzężeń między tabelami czy poprostu nieumiejętnie tworzę zapytanie wybierające dane sad.gif

Np.
Zapytanie
SELECT GrPracownikow.ID_GrPrac FROM GrPracownikow RIGHT JOIN Pracownik ON GrPracownikow.ID_Kierownik = Pracownik.ID_Kierownik;
Wypisuje mi taki wynik :
1
3
2
4
5
6
Zatem ustawia elegancko kolejno GrupyPracowników według przypisanych im ID_Kierownik'a
GrPracownikow 1 i 3 należą do kierownika o ID=1
GrPracownikow  2 i 4 należą do kierownika o ID=2
GrPracownikow  5 i 6 należą do kierownika o ID=3
Ale wynikiem jaki potrzebuję jest jest np
1 i 3 do wyboru w polu kombi komórki GrPracownikow jeśli w polu ID_kierownik jest warość 1

Na podstawie doświadczeń widze że poprostu moja funkcja SELECT wybiera wszystkie kolejne rekordy Pracownik.ID_kierownik i wybiera wszystkie odpowiadające im rekordy GrPracownikow.ID_GrPracownikow
Dowodzą tego dwa poniższe zrzuty ekranów dla tych samych pracowników przyporządkowanych
1) kolejno wszystkich do kierownika z ID_kierownika=1
  

2) kolejno
Pracownik o ID_pracownik=1 do Kierownika o ID_kierownika=1
Pracownik o ID_pracownik=2 do Kierownika o ID_kierownika=2
Pracownik o ID_pracownik=3 do Kierownika o ID_kierownika=3


Chciałbym jednak żeby funkcja SELECT użyta w polu kombi komórki Pracownik.ID_GrPracownikow wybierała tylko te ID_GrPracownikow z tabeli GrPracownikow które odpowiadają przypisanemu ID_kierownik do pojedynczego pracownika z tabeli Pracownik.

OGÓLNIE PYTANIE BRZMIAŁOBY TAK :
Jak skonstruować zapytanie SELECT które wybiera wiele rekordów z tab2 odpowiadaj
cych pojedynczemu rekordowi z tab1 questionmark.gif

PROSZE O POMOC  
spook
Witam
Dobrze, że zamieściłeś schemat powiązań między tabelami. Błędny niestety.

Tabelę "Kierownik" powiązałeś relacją jeden-do-wielu z tabelą "GrPracowników" oraz relacją wiele-do-wielu poprzez tabelę "Pracownik"!!!

Postarajmy ustalić jakie są założenia semantyczne projektowanej bazy danych:
1. Wnioski z Twojego projektu:
- Pracownik ma jednego kierownika
- Pracownik należy do jednej grupy
- Kierownik przynależy do wielu grup
Trzymając się tego zlikwiduj połączenie między tabelą "Kierownik" a "GrPracowników".

Spróbuj teraz zaprojektować kwerendę.
Jeżeli nie będzie działać pytaj. (Tylko trochę prościej smile.gif Napisz po prostu jaki wynik chcesz uzyskać, bo to co dla Ciebie jest zrozumiałe, dla innych być może już takie nie jest smile.gif a długich tekstów niekiedy nie chce się analizować)
Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.