Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomocy: kwerenda, jak pomnożyć pola
Forum PHP.pl > Forum > Bazy danych > Access
wwwaldek
Witam serdecznie.

Mam zadanie, w ktorym musze pomnozyc wartosci pol w 2 roznych tabelach i przedstawic w raporcie.

Moja baza wyglada tak:

TAB1 zawiera pola Pracownik, Data, Miejsce Pracy, Czynnosci, Zmiana, Rodzaj dni (wolne lub robocze), Ile godzin pracy;

TAB2 zawiera pola: Czynnosci (hakowy, wozkowy), Zmiana, Rodzaj dni, Stawka (20, 30)

Mamy 2 rozne czynnosci i 2 odpowiadajace im stawki.

Raport musi pokazac wszystkie pola z TAB1 + pole Stawka + nowe pole Wartość( iloczyn pola Ile godzin pracy * Stawka). Stawka musi byc odpowiednia dla wykonywanych czynnosci.

Aby go stworzyc uzylem kwerendy.
Moja kwerenda zawiera wszystkie pola z TAB1 + pole Stawka oraz wyrazenie Wartość: ([Ile_godzin]*[Stawka])

TAB1 ma 31 rekordow. Po uruchomieniu kwerendy rekordow jest 62 co jest bledem. Access dubluje mi rekordy (mnozy jedna czynnosc przez obie stawki).

Czy wiecie jak rozwiazac taki problem ?
dr_bonzo
Uzyj INNER JOINA a nie CROSS JOINA - nie wiem jak to robisz, ale w SQL wygladalo by to
  1. SELECT tab1.*, tab2.stawka, (ile godzin pracy * stawka) AS wartosc
  2. FROM tab1 JOIN tab2 ON tab1.Czynnosci = tab2.Czynnosci

ew. dopracuj nazwy kolumn bo nie wiem po czym te 2 tabele zlaczac.
wwwaldek
Po wprowadzeniu kodu powstało 288 rekordow :/
dr_bonzo
Ziom, opisz tabele, gdzie masz klucze glowne, gdzie klucze obce, jak rozumiec wartosci, ile masz rekordow w kazdej z nich.
wwwaldek
Jest 8 tabel: Czynnosc_tab, Miejsce_tab, rodzaj dni_tab, rodzaj godzin_tab, wykonawcy_tab, zmiana_tab, stawka_tab, operacje_tab(tabela głowna)

Opis pol i rekordow w tabelach:
"PK"-klucz podstawowy
Czynnosc_tab - pole "PK" Czynnosci (rekordy: AB podsuwnicowy, C podsuwnicowy, obsluga suwnic, prace reczne, transport wozkami)

Miejsce_tab - pole "PK" miejsce_pracy (rek: pakietownia, spawalnia, tlocznia)

Rodzaj dni_tab - pole PK rodzaj_dni (robocze, wolne)

Rodzaj godzin_tab - pole PK rodzaj_godzin (podstawowe, nadliczbowe)

wykonawcy_tab - 1 pole PK Imie_Nazwisko (wiadomo)

zmiana_tab - pole PK zmiana (I zmiana, II zmiana, III zmiana)

stawka_tab - pola czynnosc, zmiana, rodzaj dni, rodzaj godz, stawka (20 i 30)
ta pola tej tabeli sa w relacji jeden-do-wielu z poprzednimi tabelami i pobieraja z nich wartosci tylko stawka jest wpisana recznie. Stawka zalezy tylko od czynności. Mamy 5 czynnosci, 2 z nich maja stawke 20, 3 z nich maja 30.

tabela glowna
Operacje_tab - pola wykonawca, data, miejce, czynnosci, zmiana,dni, rodzaj godzin, ile godzin
pola sa w relacji z reszta tabel, rekordy sa wprowadzane przez formularz w ktorym dane odpowiadaja danym z reszty tabel.

Raport ma przedstawiac wszystkie pola z operacje + pole stawka + nowe pole wartosc (iloczyn pola stawka * pole ile_godzin)

Chetnie opisze wiecej jesli cos pominalem, lub wysle plik z baza. dzieki za pomoc, 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.