zmiana wierszy na kolumnę

0

Cześć,
pracuję z zestawieniami (najczęściej w formie pliku excel), w której wypisani są właściciele/współwłasciciele rożnych działek, dla których przygotowuję umowy na wejścia w teren.
Postanowiłem, że przerzucę się z Excela na Accessa, ze względu na możliwość lepszego dostosowania danych do tego co aktualnie potrzebuję.

Mam przykładową bazę danych działek wraz z ich właścicielami/wspólwłaścicielami oraz ich danymi personalnymi - przykładowa tabela jest zawarta w pliku access.
Muszę je posortować tak, by wyglądała ona mniej więcej tak, jak tabela w załączniku (plik excel)
Na ten moment udało mi się wygenerować kwerendę, którą widzicie w pliku access.

Użyłem formuły

TRANSFORM First(WG_XLS.Nazwisko) AS FirstOfNazwisko
SELECT WG_XLS.Nr_dz
FROM WG_XLS
GROUP BY WG_XLS.Nr_dz
PIVOT WG_XLS.Lp_w_danej_dzialce;

I teraz pytanie i prośba o pomoc do was - czy da się coś takiego wykonać? A jeśli tak, to w jaki sposób?

Mogę ew. skorzystać z dwóch tabel - w jednej miałbym zestawienie działek, natomiast w drugiej zestawienie właścicieli, jeżeli to by pomogło.

1

Szczerze powiem, że nie sprawdzałem przykładów z załącznika, ale Twój opis tematu wskazuje na potrzebę użycia PIVOT'a. Sprawdzałeś tą "opcję" ?

0

Nie mam możliwości wstawienia tabeli przestawnej. Z tego co czytam, został on wycofany.

0

Wstawienia gdzie ? Wycofany z Accessa ? Pierwsze słyszę.
Stwórz kwerendę i zmień jej typ na Crosstab (nie wiem jak się nazywa to w polskiej wersji):

screenshot-20200302140051.png

1

Nie da się tak latwo tego zrobić, takie obejście, ale nie do końca zgodne z wyglądem excela, zrób kwerendę unpvtD

SELECT nr_dz, Lp_w_danej_dzialce &  " nazwisko" as kol, nazwisko as val
		FROM WG_XLS
		union all
		SELECT nr_dz, Lp_w_danej_dzialce &  " ulica" as kol, ulica as val
		FROM WG_XLS
		union all
		SELECT nr_dz, Lp_w_danej_dzialce &  " miasto" as kol, miasto as val
		FROM WG_XLS
		union all
		SELECT nr_dz, Lp_w_danej_dzialce &  " udział" as kol, udzial as val
		FROM WG_XLS

co da takie dane:

screenshot-20200302143758.png

I teraz pivot tej kwerendy:

TRANSFORM First(unpvtD.[val]) AS PierwszyOfval
SELECT unpvtD.[nr_dz]
FROM unpvtD
GROUP BY unpvtD.[nr_dz]
PIVOT unpvtD.[kol];

I wyniku:
screenshot-20200302150615.png

0

Rewelacja! Testowałem od wczoraj i dokładnie o to mi chodziło!
Bardzo dziękuję za gotowe rozwiązanie!

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