Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zaprogramowanie kwerendy
Forum PHP.pl > Forum > Bazy danych > Access
mateow
Witam,
Jest to mój pierwszy post i zarazem pytanie. Opisze pokrótce o co chodzi.

Borykam się z wyrzuceniem z bazy informacji na temat zamkniętych akt. Baza składa się z archiwum danych na temat raportów i sprawozdań z lat 1996-2006 do których są przypisane sygnatury ile czasu należy je przechowywać np. B5, B6, B10, B50...itd. co oznaczają że należy przechowywać je 5, 6, 10, 50 lat. I teraz tak mam dokument zapisany z datą 31.12.2002 i kat. Akt B5 i taki powinien mi przenieść do tabeli ale jeżeli jest tak zapisana data to przenosi mi też dokumenty z datą 31.12.2006 poniżej kod z programu. Wiem że ta funkcja działa na datach zapisanych w sposób yyyy.mm.dd a czy da się by działało na dd.mm.yyyy.

SELECT *
FROM ARCHIWUM
WHERE (
(ARCHIWUM.[KAT AKT] Is Not Null)
AND
(ARCHIWUM.[DATY SKRAJNE] Is Not Null)
AND
(ARCHIWUM.[DATA ZNISZCENIA] Is Null)
AND
(
( ([KAT AKT]='B5') AND (ARCHIWUM.[DATY SKRAJNE] < CSTR(Year(Now())-5) ) )
OR
( ([KAT AKT]='B6') AND (ARCHIWUM.[DATY SKRAJNE] < CSTR(Year(Now())-6) ) )
OR
( ([KAT AKT]='B10') AND (ARCHIWUM.[DATY SKRAJNE] < CSTR(Year(Now())-10) ) )
OR
( ([KAT AKT]='B50') AND (ARCHIWUM.[DATY SKRAJNE] < CSTR(Year(Now())-50) ) )
)
);

Dzięki za odpowiedź
Cezar708
myśle, że po protu możesz przerobić daty na ten format, jakiego potrzebujesz

np:
  1. <?php
  2. // zamiana z fomatu dd.mm.yyyy na yyyy.mm.dd
  3. $ymd = date("Y.m.d", strtotime($dmy) );
  4.  
  5. // zamiana z fomatu yyyy.mm.dd na dd.mm.yyyy
  6. $dmy = date("d.m.Y", strtotime($ydm) );
  7. ?>
mateow
A jak zastosować coś takiego z automatu? Np w VB w accesie lub za pomocą jakiegoś makra.

Pozdrawiam
spook
Spróbuj najpierw wyłuskać rok z [Daty skrajne] i wtedy sprawdź relację

Fragment kwerendy mógłby wyglądać tak:

SELECT *
FROM ARCHIWUM
WHERE (((ARCHIWUM.[Kat Akt])="B5") AND ((Year([Daty skrajne]))<=Year(Now())-5));
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.