Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

MS Access - Filtrowanie listbox'a wielokolumnowego wg dat i raport

Duck71 10 Aug 2014 22:10 1482 4
  • #1
    Duck71
    Level 9  
    Witam,
    Miałem problem z sortowaniem danych w wielokolumnowym listbox'ie ale dzięki temu forum, a zwłaszcza dzięki @PRL uporałem się z tym. Teraz nieoczekiwanie pojawił się nowy problem, a nawet dwa... Ale od początku

    Listbox ma kilka kolumn do których dane wybierane są kwerendą z kilku tabel (nie wszystkie pola tabel są w wyniku kwerendy). Po aktualizacji dowolnego pola kryterium filtra wywoływana jest procedura, która składa zapytanie sql'owe uwzględniając wszystkie zadane filtry oraz sortowanie. Filtrowanie działa wg każdej kolumny poza tymi zawierającymi daty. Pole w bazie jest typu DATE więc powinienem odczytaną wartość pola Me.fl_data_p_wyst zamienić na ten sam typ (czy oby na pewno, jeśli formatem pola tekstowego jest "data krótka"?). Zresztą, niezależnie od tego, czy dokonuje konwersji czy nie filtrowanie po dacie nie funkcjonuje. Nie ma też znaczenia czy warunek dokładam jako string czy nie - otrzymuje pustą listę.

    Kwerenda:
    Code: sql
    Log in, to see the code




    Code: vb
    Log in, to see the code


    Gdzie popełniam błąd?

    Ponadto chcę wykonać raport zawierający tylko dane z listbox'a (odfiltrowane, posortowane). W jaki sposób przekazać tą zawartość do raportu?
  • #2
    PRL
    Level 40  
    Code: vb
    Log in, to see the code


    W powyższy sposób kwerenda 'kwTwojFiltr' będzie źródłem tak dla listy, jak i raportu.

    A co do daty, to 'WHERE DataZakupu >= #" & Me.PoleZData & "#"
  • #3
    Duck71
    Level 9  
    Dziękuję Ci po raz kolejny.
    Wujek Google nigdzie nie podawał, że potrzebny jest # ...
    Z raportem też już jest OK. Nurtuje mnie jednak jeszcze jedno zagadnienie z tym związane... Gdyby tak wyrzucić powtarzające się wartości z drugiej kolumny listy..
    W efekcie przyjętych zasad uzupełniania rejestru powtarzają się w obrębie miesiąca nr dokumentów własnych (RB, RK) np. 6 razy RB 07/14. Wygodnie by było aby w zestawieniu występował tylko raz, ale z sumą kwot Wn i Ma.
    DISTINCT nie zadziała, bo zawsze przy tej ilości kolumn znajdą się niepowtarzające się dane. DISTINCTROW także, bo nie wszystkie pola rekordu są wykorzystywane.. Więc jak?
  • Helpful post
    #4
    PRL
    Level 40  
    Google ('ms access date criteria in query'), pierwszy link: Link

    Quote:
    Wygodnie by było aby w zestawieniu występował tylko raz, ale z sumą kwot Wn i Ma.


    Stwórz kwerendę sumującą i połącz po ID z bieżącą kwerendą, wcześniej usuwając 'typ dokumentu'. Na przykład.
  • #5
    Duck71
    Level 9  
    Dziękuję.
    Po ingliszu to ja mało czytaty więc szukałem po naszemu..może niezbyt dokładnie.. No i głupio mi..
    Zamykam.