Wyznaczanie grup

Użytkowanie programu bazodanowego
annak
Posty: 7
Rejestracja: wt wrz 09, 2014 4:41 pm

Wyznaczanie grup

Post autor: annak »

Nie wiem jak to zrobić.
W formularzu przy grupach, w polu wyboru, pragnę zaznaczyć te grupy, które mają być ujęte w raporcie i wydrukowane.
Załączniki
Grupy.odb
(12.71 KiB) Pobrany 132 razy
Openoffice 3.3
annak
Posty: 7
Rejestracja: wt wrz 09, 2014 4:41 pm

Re: Wyznaczanie grup

Post autor: annak »

Problem wyznaczania grup został rozwiązany. Co zrobić, aby przy przesyłaniu danych z jednej tabeli do drugiej, dane nie dublowały się. Problem ukazany jest w załączniku.
Załączniki
Grupy.zip
(12.9 KiB) Pobrany 126 razy
Openoffice 3.3
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Wyznaczanie grup

Post autor: Jan_J »

Podformularz pobiera dane z tabeli. Skoro tabela zawiera powtórzenia, to kontrolka również. Możesz w projekcie formularza powiedzieć, że bazuje na zapytaniu, i wpisać to zapytanie.

// btw jeżeli chcesz pytaniem SQL pobrać niepowtarzające się wartości, to (podpatrzyłem w kodzie Basica) zamiast

Kod: Zaznacz cały

SELECT Grupa FROM Osoby WHERE Obecny = 1 GROUP BY Grupa
ładniej jest użyć konstrukcji

Kod: Zaznacz cały

SELECT DISTINCT Grupa FROM Osoby WHERE Obecny = 1
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
annak
Posty: 7
Rejestracja: wt wrz 09, 2014 4:41 pm

Re: Wyznaczanie grup

Post autor: annak »

Dziękuję za odpowiedź. DISTINCT - jest ładniej i....
Wszystko jest OK. gdy ktoś jeden raz przyciśnie przycisk "Prześlij do wyznaczenia". Jeśli przez nieuwagę naciśnie drugi raz i więcej wtedy zaczynają się problemy, bo makro za każdym razem kopiuje dane do tabeli "Wyznaczenie", a wtedy grupa jest wiele razy wykazana w tabeli formularza. Chodzi mi o to, by uniknąć powtórek w tabeli "Wyznaczenie".
Openoffice 3.3
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Wyznaczanie grup

Post autor: Jan_J »

Zanim opracujesz formularz, zastanów się najpierw na tym, co mają przechowywać tabele, a potem nad logiką poszczególnych operacji. Bez komputera. Pomyśl, co to znaczy "wielokrotnie dodać do tabeli WYZNACZANIE", czy to ma sens, a nawet, czy ta tabela jest potrzebna. Nie sugeruj się tym, że potrafisz napisać INSERT albo SELECT INTO; być może zupełnie inne rozwiązanie okaże się lepsze.
Pamiętaj, że w zasadzie do tabel warto wstawiać dane tylko wtedy, kiedy zasługują one na utrwalenie.
Kiedy schemat stanie się jasny na tyle, że uznasz komputer za narzędzie nie tyle do "umożliwienia", co "usprawnienia" żmudnych, ale oczywistych operacji, załóż potrzebne tabele i perspektywy, napisz formularz. Albo formularze.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ