Automatyczne dodawanie wartości rzędnych do tabeli

Propozycje dotyczące rozszerzenia bądź modyfikacji istniejących opcji.
Aoschin
_____
_____
Posty: 415
Rejestracja: 27 sie 2019, 12:35

Automatyczne dodawanie wartości rzędnych do tabeli

Post autor: Aoschin »

Yo!

Chciałbym poprosić o stworzenie funkcji, która:
1). Stworzy w tabli kolumy "rzędna", "rzędna góry", "rzędna dołu",
2). Dla wszystkich punktów w tabeli, o kodach z grup pikiet naturalnych, pikiet sztucznych oraz punktów wysokościowych na urządzeniach i przewodach, odczytywało te dane z tabeli danych i wstawiało te wartości do wyżej utworzonych kolumn, czyszcząc pozostałe wiersze.
2.2) Nie wiem, czy tabela współrzędnych jest jakoś zmatchowana z tabelą danych, ale warto byłoby tworzyć dopasowania po współrzędnych - zapinając pikiety czasem kończę z punktami pikiet w postaci punktów z @ - target jest taki żeby się łatwo tworzyło wykazy współrzędnych dla dużych inwentaryzacji i MDCP gdzie punktów jest 600, 250 z nich to albo rzędne terenu albo urządzeń - rozdzielanie tego ręcznie w rtf jest absolutnie zabójczą robotą, podatną na błędy i czasochłonną.

Podobna funkcja juz istnieje - "Wstaw zawartość kolumny "X" do kolumny H w tabeli punktów.
Co chciałbym uprościć to autododawania kolumn i wstawianie do nich danych ze wszystkich baz, a nie wstawianie tego do H, kopiowanie z kolumny H do kolumny docelowej i powtórka dla pozostałych baz.

Czy się uda, czy nie dzięki za uwagę,
Pozdrawiam
Ao
Aoschin
_____
_____
Posty: 415
Rejestracja: 27 sie 2019, 12:35

Re: Automatyczne dodawanie wartości rzędnych do tabeli

Post autor: Aoschin »

Yo!
Wracam do tematu, bo znów mam inwentarkę oczyszczalni na 600 punktów i klepanie wykazów współrzędnych doprowadza do roztopienia mózgu.

Bardzo proszę o wsparcie w temacie,
Pozdrawiam
Ao
Awatar użytkownika
Jurek B.
Team
Team
Posty: 8824
Rejestracja: 16 lut 2005, 20:25

Re: Automatyczne dodawanie wartości rzędnych do tabeli

Post autor: Jurek B. »

Dzień dobry,
Co chciałbym uprościć to autododawania kolumn i wstawianie do nich danych ze wszystkich baz, a nie wstawianie tego do H, kopiowanie z kolumny H do kolumny docelowej i powtórka dla pozostałych baz.
Zalecam jednak korzystanie z tego rozwiązania:
Pogrupować i zaznaczyć pikiety/rzędne według typów (naturalna/sztuczna, rzędna urządzenia/przewodu):
Zrzut ekranu 2026-05-21 134916.png
Zrzut ekranu 2026-05-21 134916.png (41.5 KiB) Przejrzano 940 razy
Podświetlić kolumnę z wysokością do przekopiowania i użyć tej funkcji:
Zrzut ekranu 2026-05-21 134311.png
Zrzut ekranu 2026-05-21 134311.png (88.74 KiB) Przejrzano 940 razy
która działa tak, że wybiera się konkretną kolumnę docelową w tabeli współrzędnych, którą może być wcześniej założone pole w tabeli współrzędnych i nie trzeba przechodzić przez jakieś pośrednie kolumny:
Zrzut ekranu 2026-05-21 134434.png
Zrzut ekranu 2026-05-21 134434.png (27.18 KiB) Przejrzano 940 razy
Nie dodamy do standardowego szablonu dostępnego dla wszystkich, dodatkowych atrybutów, natomiast można to zrobić samodzielnie np. na szablonie MapaZasadnicza_2021, zapisać pod tą samą nazwą i korzystać z niego.
Niestety nie dodamy także funkcji, która robi dokładnie to co Pan opisał. Trzeba będzie otwierać tabele OT_Rzedna i GES_Rzedna i wykonać samodzielnie te 5 operacji przekopiowania wysokości do wskazywanych pól.
Pozdrawiam Jurek B.
Awatar użytkownika
Jurek B.
Team
Team
Posty: 8824
Rejestracja: 16 lut 2005, 20:25

Re: Automatyczne dodawanie wartości rzędnych do tabeli

Post autor: Jurek B. »

Aoschin pisze: 21 maja 2026, 13:18 Yo!
Wracam do tematu, bo znów mam inwentarkę oczyszczalni na 600 punktów i klepanie wykazów współrzędnych doprowadza do roztopienia mózgu.

Bardzo proszę o wsparcie w temacie,
Być może będzie jeszcze inne, lepsze rozwiązanie, ale napiszę, gdy będę je miał.
Pozdrawiam Jurek B.
Awatar użytkownika
Jurek B.
Team
Team
Posty: 8824
Rejestracja: 16 lut 2005, 20:25

Re: Automatyczne dodawanie wartości rzędnych do tabeli

Post autor: Jurek B. »

Można trochę pracy sobie oszczędzić:
1. Zmodyfikować i zapisać pod tą samą nazwą szablon (MapaZasadnicza_2021.ZMP) dodając do tabeli współrzędnych potrzebne pola: rzedna, rzednaGory, rzednaDolu,
2. Wykonać w oknie bazy danych zapytanie SQL modyfikujące dane w tabeli, według poniższego skryptu, którego najlepiej gdzieś sobie zapisać i wklejać w oknie wywołanym ikonką "Modyfikacja danych przez zapytanie SQL",
3. W tym zapytaniach jeden ciąg znaków jest zależny od nazwy tabeli współrzędnych - pokazałem go pogrubionymi literami (w przykładzie jest to tabela współrzędnych o nazwie "GML"). Czyli w rzeczywistości należy zamiast GML wpisać nazwę swojej tabeli współrzędnej (np. abc),
4. Podane w skryptach zmienne 168.db i 150.db to nazwy tabel: OT_Rzedna i GES_Rzedna. Jeśli struktura tabel w szablonie będzie niezmienna (nie dojdą nowe bazy danych), to te tabele tak się właśnie będą nazywać.

skrypt nr 1:
update "..\GML.db" t set t.Rzedna = (select d.Rzedna from "168.db" d where d.Id_o=t.Id_p)
where exists (select * from "168.db" b where b.Id_o=t.Id_p)

skrypt nr 2:
update "..\GML.db" t set
t.RzednaGory = (select d.RzednaGory from "150.db" d where d.Id_o=t.Id_p),
t.RzednaDolu = (select d.RzednaDolu from "150.db" d where d.Id_o=t.Id_p)
t.Rzedna = (select d.Rzedna from "150.db" d where d.Id_o=t.Id_p),
where exists (select * from "150.db" b where b.Id_o=t.Id_p)
Pozdrawiam Jurek B.
ODPOWIEDZ