Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Access: kryteria w kwerendzie

585 views
Skip to first unread message

Aneta

unread,
Aug 20, 2008, 4:49:03 AM8/20/08
to
Witam

Ponieważ dopiero zaczynam pracę na Accesie bardzo potrzebuję pomocy w
utworzeniu kwerendy. Mam tabelę, w której są pola m.in. pola data planowana
oraz data faktyczna. Jakie kryteria powinnam wprowadzić do kwerendy aby po
zapuszczeniu kwerendy pojawiły się pozycje:
- pomiędzy planowaną datą a faktyczną datą jest różnica czasowa do 3
miesięcy. (data faktyczna wykonania czegoś nie przekroczyła 3 m-cy od daty
planowanej).

pozdrawiam

tedmi

unread,
Aug 20, 2008, 9:11:01 AM8/20/08
to
Nie bardzo rozumiem problemu. Czy kwerenda ma wyświetlić różnicę między
datami? Jeśli tak, to czy w dniach czy miesiącach? Czy kwerenda ma wybrać
rekordy z określoną róznicą dat? Proszę o więcej szczegółów.
--
TedMi

Aneta

unread,
Aug 20, 2008, 9:29:02 AM8/20/08
to
Kwerenda powinna pokazać te rekordy z określoną różnicą dat (w miesiącach).
Ale ta druga opcja czyli wyświetlanie różnicy między datami też by była
pomocna.
pozdrawiam

„tedmi” pisze:

tedmi

unread,
Aug 20, 2008, 10:47:05 AM8/20/08
to
W widoku projektu kwerendy, nowej kolumnie wpisz:
Pole: =DateDiff("m", [DataFakt], [DataPlan])
Kryteria: <=3
Pokaż: zaznacz aby róznicę dat wyświetlić

Nazwy w [klamrach] to nazwy pól w Twojej tabeli. Klamry należy wpisać. W
kryteriach umieść odpowiednie porównanie - mój przykład znajdzie rekordy
których róznica dat nie przekracza 3 miesięcy.

Problem: Różnica w miesiącach może być myląca. Np. różnica między 31 lipca a
1 sierpnia to JEDEN MIESIĄC, a róznica między 1 lipca i 31 sierpnia również
jeden miesiąc. Może róznica w dniach będzie bardziej odpowiednia? Jeśli tak,
to zmień pierwszy argument funkcji DateDiff na "d" i zmień porównanie w
kryteriach na odpowiednią ilość dni.

Życzę powodzenia.
--
TedMi

Aneta

unread,
Aug 21, 2008, 3:00:00 AM8/21/08
to
Coś się Access buntuje. Pojawia się okienko, że wprowadzone wyrażenie ma
nieprawidłową składnię pominięto operand lub operator, wprowadzono
nieprawidłowy znak itd. Co może być nie tak? Jeśli chodzi o mnie to napewno
zrobiłam wg Twojego wzoru.

W przypadku braku w tabeli daty [DataPlan] chciałabym móc odjął datę
[DataHarmon]. DataHarmon ma być taką alternatywą gdy nie ma DataPlan. Jak to
można zapisać?
Dzięki.

„tedmi” pisze:

tedmi

unread,
Aug 21, 2008, 9:12:01 AM8/21/08
to
Aby zastąpić DataPlan przez DataHarmon:
=DateDiff("m", [DataFakt], Nz([DataPlan], [DataHarmon]))
Funkcja Nz ma wartość pierwszego argumentu gdy ten argument nie jest pusty,
inaczej drugiego.

Nt. błędu w kwerendzie: Po wpisaniu Pola i Kryteriów różnicy dat, zmień
widok projektu kwerendy na SQL, kopiuj cały tekst, wklej do odpowiedzi do tej
newsgrupy. Wersja Access?
--
TedMi

Aneta

unread,
Aug 22, 2008, 4:53:01 AM8/22/08
to
To jest Access 2000.
Jeżeli mogę się /jeszcze/ podpytać, bo nadal coś nie idzie. Nie bardzo
rozumiem. Czy mam wstawić ten tekst =DateDiff... w SQL? Jeżeli tak to muszę
to pewnie jakość inaczej zapisać. Pytanie jak?

„tedmi” pisze:

tedmi

unread,
Aug 22, 2008, 8:38:02 AM8/22/08
to
Tekst który podałem należy wpisać nie w Widoku SQL, tylko w Widoku projektu
(tabularnym). Możliwe że wer. 2000 wymagała innego zapisu. Spróbuj tak:
X: DateDiff("m", [DataFakt], [DataPlan])
lub to drugie wyrażenie,
X: DateDiff("m", [DataFakt], Nz([DataPlan], [DataHarmon]))

gdzie X jest nazwa jaką chcesz widzieć nad columną zawierającą róznicę dat.
Jeśli nadal wystąpi błąd, to wtedy przełącz widok na SQL i prześlij mi cały
tekst kwerendy.
--
TedMi

Aneta

unread,
Aug 27, 2008, 2:08:00 AM8/27/08
to
Drobna kosmetyka i działa ale tak Wyr1:
DateDiff("m";[DataFakt];Nz([DataPlan];[DataHarmon]))
pozdr i dzięki za pomoc

„tedmi” pisze:

tedmi

unread,
Aug 27, 2008, 11:22:01 AM8/27/08
to
Aha, rozumiem. Mój system jest ustawiony na zapis angielski, w którym
argumenty są dzielone przecinkami.
--
TedMi
0 new messages