Lista obecności w Access

Lista obecności w Access
AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

Witam
Mam bazę SQL w niej tabele ( pracownicy, wydziały , zdarzenia)
W formularzu rejestrującym zdarzenia ( obecność lub jej brak) mam pole kombi wielokrotnego wyboru ( wybór pracowników)
Ale zapisanie tego w SQL wygląda tak , że w tabeli Zdarzeń w polu Pracownik jest zapisanych nastu pracowników z pola kombi wielokrotnego wyboru rozdzielonych przecinkami.
Mogłoby tak zostać , ale jak później robić raport z tabeli Zdarzenia który będzie listował wszystkich pracowników np. kolejność alfabetyczna z podziałem na wydział do którego są przypisani.
No i finalnie zliczał ilu jest obecnych a ilu nieobecnych.

Można to jakoś sensownie zrobić ( jakaś podpowiedź ) ....bo ja niestety nie daję rady.

TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 119
0
alvin napisał(a):

Witam
Mam bazę SQL w niej tabele ( pracownicy, wydziały , zdarzenia)
W formularzu rejestrującym zdarzenia ( obecność lub jej brak) mam pole kombi wielokrotnego wyboru ( wybór pracowników)
Ale zapisanie tego w SQL wygląda tak , że w tabeli Zdarzeń w polu Pracownik jest zapisanych nastu pracowników z pola kombi wielokrotnego wyboru rozdzielonych przecinkami.
Mogłoby tak zostać , ale jak później robić raport z tabeli Zdarzenia który będzie listował wszystkich pracowników np. kolejność alfabetyczna z podziałem na wydział do którego są przypisani.
No i finalnie zliczał ilu jest obecnych a ilu nieobecnych.

Można to jakoś sensownie zrobić ( jakaś podpowiedź ) ....bo ja niestety nie daję rady.

Odpowiedzi na Twoje pytanie chyba znajdziesz tutaj:

https://stackoverflow.com/questions/5493510/turning-a-comma-separated-string-into-individual-rows
https://stackoverflow.com/questions/30920483/split-comma-separated-string-table-row-into-separate-rows-using-tsql
https://www.geeksforgeeks.org/how-to-turning-a-comma-separated-string-into-individual-rows-in-sql-server/

ps Ja bym to rozdzielił w wcześniej jakąś pętlą i wrzucił do tbl Zdarzenia tak jak powinno być (do pojedynczych rekordów). Jak to projekt rozwojowy, to może kiedyś
zamiast obecność (TAK/NIE) będziesz chciał logować na przykład godzinę rozpoczęcia, a ta pewnie moze być już inna.

AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

TytusRomek
Dzięki WIELKIE za podpowiedź...
Wstępnie wydaje się że to załatwia temat moich potrzeb w zakresie zrobienia raportu.
Zaciekawiła mnie Twoja opcja >>>( Ja bym to rozdzielił w wcześniej jakąś pętlą i wrzucił do tbl Zdarzenia tak jak powinno być (do pojedynczych rekordów) ) <<< ( fajnie ale ja raczej nie będę umiał takiej wykonać)
Zostanę raczej przy robieniu raportu, jeśli tylko sobie z tym poradzę oczywiście.🤔
Niemniej dziękuję raz jeszcze.👍

No i nie działa :
próbowałem zapisać w kwerendzie >>>
SELECT * value as Pracownik
FROM Zdarzenia
CROSS APPLY STRING_SPLIT(Nazwa_Pracownika, ',')

Niestety wyskakuje monit screenshot-20250109134244.png

TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 119
0

No i nie działa :
próbowałem zapisać w kwerendzie >>>
SELECT * value as Pracownik
FROM Zdarzenia
CROSS APPLY STRING_SPLIT(Nazwa_Pracownika, ',')

Niestety wyskakuje monit screenshot-20250109134244.png

Nie siedzę przy bazie teraz, ale ten Select to chyba nie ma prawa zadziałać, tak mi się wydaje..
Select * - to zbiera wszystkie pola (kolumny), a zakładam że masz w tabeli Zdarzenia przynajmniej dwie..

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.