Strona 1 z 1

Automatyczne dodawanie wartości rzędnych do tabeli

: 02 gru 2025, 14:44
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ę,

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

: 21 maja 2026, 13:18
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,

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

: 21 maja 2026, 13:57
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 4230 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 4230 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 4230 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.

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

: 21 maja 2026, 14:07
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ł.

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

: 21 maja 2026, 17:49
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)