W jaki sposób zmienić formułę Year(), by była zależna od innego pola tekstowego?

0

Witam
Wykonałem tabele krzyżową :

TRANSFORM Har_bad.Rodz_pop
SELECT Har_bad.Pkt_pop_har, Har_bad.Rejon_har, Har_bad.Rodz_pop, Year([data_har]) AS rok
FROM Har_bad
WHERE (((Year([data_har]))=2024))
GROUP BY Har_bad.Pkt_pop_har, Har_bad.Rejon_har, Har_bad.Rodz_pop, Year([data_har])
PIVOT Har_bad.Data_har;

W jaki sposób kryterium Year([data_har]))=2024 zmienić aby było zależne od innego innego pola tekstowego, aby przybrało formę:

Year([data_har])) = [Forms]![Harmonogram]![dyzur_date]
0
Jalw napisał(a):

Witam
Wykonałem tabele krzyżową :

TRANSFORM Har_bad.Rodz_pop
SELECT Har_bad.Pkt_pop_har, Har_bad.Rejon_har, Har_bad.Rodz_pop, Year([data_har]) AS rok
FROM Har_bad
WHERE (((Year([data_har]))=2024))
GROUP BY Har_bad.Pkt_pop_har, Har_bad.Rejon_har, Har_bad.Rodz_pop, Year([data_har])
PIVOT Har_bad.Data_har;

W jaki sposób kryterium Year([data_har]))=2024 zmienić aby było zależne od innego innego pola tekstowego, aby przybrało formę:
Year([data_har])) = [Forms]![Harmonogram]![dyzur_date]

Witaj,
zgaduję:
[Forms]![Harmonogram]![dyzur_date] - w polu tekstowym masz kompletną datę a nie rok?
a kryteria chcesz dla roku więc musisz zrobić coś jak tutaj:

Year([Forms]![Harmonogram]![dyzur_date]) 

Jedna uwaga, aby taka kwerenda zadziała prawidłowo, musisz pole tekstowe musi mieć wartość, jest duże prawdopodobieństwo, że nie zadziała jeśli formularz będzie zamknięty!

0
TytusRomek napisał(a):
Jalw napisał(a):

Witam
Wykonałem tabele krzyżową :

TRANSFORM Har_bad.Rodz_pop
SELECT Har_bad.Pkt_pop_har, Har_bad.Rejon_har, Har_bad.Rodz_pop, Year([data_har]) AS rok
FROM Har_bad
WHERE (((Year([data_har]))=2024))
GROUP BY Har_bad.Pkt_pop_har, Har_bad.Rejon_har, Har_bad.Rodz_pop, Year([data_har])
PIVOT Har_bad.Data_har;

W jaki sposób kryterium Year([data_har]))=2024 zmienić aby było zależne od innego innego pola tekstowego, aby przybrało formę:
Year([data_har])) = [Forms]![Harmonogram]![dyzur_date]

Witaj,
zgaduję:
[Forms]![Harmonogram]![dyzur_date] - w polu tekstowym masz kompletną datę a nie rok?
a kryteria chcesz dla roku więc musisz zrobić coś jak tutaj:

Year([Forms]![Harmonogram]![dyzur_date])

Jedna uwaga, aby taka kwerenda zadziała prawidłowo, musisz pole tekstowe musi mieć wartość, jest duże prawdopodobieństwo, że nie zadziała jeśli formularz będzie zamknięty!

[Forms]![Harmonogram]![dyzur_date] - pole tekstowe jest niezwiązane, wpisuje jedynie rok

Po wpisaniu Year([data_har])) = [Forms]![Harmonogram]![dyzur_date] pojawia się komunikat:

Aparat bazy danych nie może rozpoznać jako poprawnej nazwy pola lub wyrażenia
1

Niezły numer. U mnie ten sam błąd - co ciekawe tylko przy krzyżowej, zwykła płaska kwerenda łądnie wszystko zrzuca.

Znalazłem rozwiązanie, przetestowałem u mnie chodzi (inne nazwy pół).
https://answers.microsoft.com/en-us/msoffice/forum/all/help-required-to-set-parameters-in-crosstab-query/ddaf2cba-ce64-4574-b003-ffce33d861b7

W widoku projektu kwerendy kliknij paramtery i dodaj odwołanie do textboxa. Nie wiem czemu, ale u mnie nawrzucał nawiasów okrągłych które musiałem usuwać. jak zrobisz paramter to w widoku SQL zobaczysz dodatkowy wiersz (średnik na jej końcu!):
PARAMETERS [Formularze]![Formularz1]![Tekst0] Short;
więc ten paramter musisz przekopiować do where i powinno zadziałać.

PARAMETERS [Formularze]![Formularz1]![Tekst0] Short;
TRANSFORM Sum(Tabela1.[PoletestoweWartosc]) AS SumaOfPoletestoweWartosc
SELECT Tabela1.[Poletestowe], Sum(Tabela1.[PoletestoweWartosc]) AS [Suma PoletestoweWartosc]
FROM Tabela1
WHERE (Year([Tabela1]![Data]))=[Formularze]![Formularz1]![Tekst0] GROUP BY Tabela1.[Poletestowe]
PIVOT Tabela1.[Data];

dodatkowo jak formularz jest zamknięty, to access wyrzuca inputboxa z pytaniem o wartość.

0
TytusRomek napisał(a):

Niezły numer. U mnie ten sam błąd - co ciekawe tylko przy krzyżowej, zwykła płaska kwerenda łądnie wszystko zrzuca.

Znalazłem rozwiązanie, przetestowałem u mnie chodzi (inne nazwy pół).
https://answers.microsoft.com/en-us/msoffice/forum/all/help-required-to-set-parameters-in-crosstab-query/ddaf2cba-ce64-4574-b003-ffce33d861b7

W widoku projektu kwerendy kliknij paramtery i dodaj odwołanie do textboxa. Nie wiem czemu, ale u mnie nawrzucał nawiasów okrągłych które musiałem usuwać. jak zrobisz paramter to w widoku SQL zobaczysz dodatkowy wiersz (średnik na jej końcu!):
PARAMETERS [Formularze]![Formularz1]![Tekst0] Short;
więc ten paramter musisz przekopiować do where i powinno zadziałać.

PARAMETERS [Formularze]![Formularz1]![Tekst0] Short;
TRANSFORM Sum(Tabela1.[PoletestoweWartosc]) AS SumaOfPoletestoweWartosc
SELECT Tabela1.[Poletestowe], Sum(Tabela1.[PoletestoweWartosc]) AS [Suma PoletestoweWartosc]
FROM Tabela1
WHERE (Year([Tabela1]![Data]))=[Formularze]![Formularz1]![Tekst0] GROUP BY Tabela1.[Poletestowe]
PIVOT Tabela1.[Data];

dodatkowo jak formularz jest zamknięty, to access wyrzuca inputboxa z pytaniem o wartość.

Dzięki zadziałało

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