vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest sobota, 18 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Wynik filtrowania przed uruchomieniem filtra


otwartyotwarty rozpoczął: affix postów: 6



napisał: affix
postów: 7


umieszczony:
7 grudnia 2007
02:24

  
OK JUŻ WIEM

=DCount("*";"qry_pilkarze_last_sezon";"(ostatni_sezon = '2007/08' AND runda ='j') OR (ostatni_sezon = '2007' AND runda ='j') OR (ostatni_sezon = '2007' AND runda is null)")

JESZCZE RAZ SERDECZNE DZIĘKI !!!

---

Pozdrawiam

Marek Walczak
affix@poczta.onet.pl
http://affix.republika.pl
napisał: affix
postów: 7


umieszczony:
7 grudnia 2007
02:13

  
DZIĘKI !!!! DZIAŁA !!!

Mam jeszcze jedną prośbę

Przy żródle formantu

=DCount("*";"qry_pilkarze_last_sezon";"ostatni_sezon = '2007/08' OR (ostatni_sezon = '2007' AND runda ='j')")

zwraca mi tylko rekordy:

ostatni_sezon = '2007/08'

a nie zwraca mi rekordów:

ostatni_sezon = '2007' AND runda ='j'

GDZIE ROBIĘ BŁĄD ???
napisał: jalamas
postów: 316


umieszczony:
7 grudnia 2007
01:22

  
Select cały zestaw już masz przecież .

Użyj wobec tego funkcji agregacji domeny DCount, dokładny opis w okienku VBA pod tytułem : DCount Function
W konstruktorze wyrażeń w dziale Funkcje wbudowane/Agregat domeny.

Na przykład (zakładka Dane/Źródło formantu)
- dla 1-dnej kontrolki TexBox : =DCount("*";"kw_podformularza";"idp>100")
- dla kontrolki 2-giej przykładowy warunek =DCount("*";"kw_podformularza";"idp>200")
itd...warunki oczywiście napisz swoje.

Gdzie kw_podformularza to nazwa kwerendy na jakiej oparty jest podformularz (jeśli nie jest zapisana, zapisz ją)
napisał: affix
postów: 7


umieszczony:
6 grudnia 2007
19:08

  
Dzieki za odpowiedz, ale...

Ja juz mam oprogramowane przyciski i nie o to mi chodzi. Podkreslam - jestem laikiem, samoukiem, pomimo tego, ze pracuje w branzy IT (ale jako Koordynator Handlowcow a nie programista).

O co mi chodzi.

Mam prywatna baze danych dotyczaca klubu, ktoremu kibicuje (nie szowinistycznie). Zawiera informacje typu: wszyscy zawodnicy i trenerzy w historii klubu, dane doyczace kariery pilkarzy przeciwnika, statystyki z meczow , etc.

Mam formularz - nazwijmy go frm_FORM - z podformularzem - nazwijmy go frm_SBFORM. Kwerenda, ktora jest zrodlem formularz w widoku SQL prezentuje sie nastepujaco:

SELECT Last(tbl_Kluby.NazwaKlubu) AS klub, Last(tbl_Zawodnicy_kariera.IDZawKariera) AS IDkariera, tbl_Zawodnicy.IDzawodnika AS IDzawodnika, tbl_Zawodnicy.Nazwisko, tbl_Zawodnicy.Imie AS imie, Last(tbl_Sezony.Sezony) AS ostatni_sezon, Last(tbl_Sezony.IdSezonu) AS OstatniOfIdSezonu, Last(tbl_Zawodnicy_kariera.runda) AS runda, tbl_Zawodnicy.uwagi, Last(tbl_Zawodnicy_kariera.uwagi) AS [sezon uwagi]
FROM tbl_Zawodnicy INNER JOIN (tbl_Kluby INNER JOIN (tbl_Zawodnicy_kariera INNER JOIN tbl_Sezony ON tbl_Zawodnicy_kariera.IDsezonu = tbl_Sezony.IdSezonu) ON tbl_Kluby.IDklubu = tbl_Zawodnicy_kariera.IDklubu) ON tbl_Zawodnicy.IDzawodnika = tbl_Zawodnicy_kariera.IDzawodnika
GROUP BY tbl_Zawodnicy.IDzawodnika, tbl_Zawodnicy.Nazwisko, tbl_Zawodnicy.Imie, tbl_Zawodnicy.uwagi
ORDER BY Last(tbl_Kluby.NazwaKlubu), tbl_Zawodnicy.Nazwisko, tbl_Zawodnicy.Imie;

W formularzu sa przyciski (odpowiednio do sezonow: 2007/08, 2006/07, 2005/06 itd.), ktore filtruja mi podformularz i po wcisnieciu wyswietlaja mi rekordy wedlug zadanych kryteriow okreslonych w VBA np.:

Private Sub cmd_0708_Click()
Me.frm_SBFORM.Form.Filter = "ostatni_sezon = '2007/08' OR
(ostatni_sezon = '2007' AND runda ='j')"
Me.frm_SBFORM.Form.FilterOn = True
End Sub

Mnie chodzi o to aby pod kazdym takim przyciskiem byl umieszczony textbox, ktory mi wyswietli liczbe rekordow ktore zostalyby wyswietlone po wcisnieciu filtra.

Czyli... Laduje sie formularz z podformularzem i wyswietla rekordy wg zadanego filtra (powyzszy kod VBA). Ale jednoczesnie w textboxach umieszczonych pod kazdym przyciskiem widze ilosc rekordow jaka wyswietlilaby sie, gdybym wcisnal dany przycisk. Jestem "w rekordach" 2007/08 ale w textbox'ach widze ile mi sie wyswietli (chodzi o posumowanie) rekordow jak wcisne 2006/07, 2005/06 itd.

W innej grupie dyskusyjnej dostalem odpowiedz:

Ja bym zrobił SELECT aby uzyskac cały zestaw, po czym
w tle select count(*) dla każdego filtra.

I pewnie bym to zrobil gdybum wiedzial - jak. Niestety moje pytanie pozostalo bez odpowiedzi.

Pozdrawiam


Marek Walczak
affix@poczta.onet.pl
http://affix.republika.pl
napisał: jalamas
postów: 316


umieszczony:
6 grudnia 2007
14:17

  
W podformularzu, w stopce umieść kontrolkę TextBox, o nazwie na przykład txtCount
- usuń etykietę
- ustaw na przeźroczysty, tło jak tło formularza, kolor tekstu też
- przechodzenie tabulatorami na nie
- włączony na tak
- zablokowany na tak
- lewy, górny 0
- wymiary minimum lub 0
- dane: =Policz(*)

W formularzu umieść kontrolkę TextBox, o nazwie na przykład txtile
- przechodzenie tabulatorami na nie
- włączony na tak
- zablokowany na tak
W kodzie procedury zdarzenia przycisku, (ja nadaję swoje nazwy dla kontrolki podformularza (DaneSB)
Private Sub cmdfiltr_Click()
    With Me.DaneSB.Form
        .Filter = "idP>" & CStr(Nz(Me.txtjak, 0))
        .FilterOn = True
        .txtCount.Requery
    End With
End Sub


To 1-dna z metod.
Przy czym, nie wiem czy się domyślam, ale napisałeś:
Cytat:
frm_SBFORM

pytam wobec tego jak nazywa się u Ciebie kontrolka podformularza oraz jak się nazywa sam podformularz w jego okienku projektu, ponieważ podejrzewam, że użyłeś nazwy klasy formularza, a nie nazwy kontrolki ?
Oraz patrząc na Twój filtr, dlatego go tutaj nie zamodelowałam, a użyłam swojego przykładu, śmiem przypuszczać, że Twoje pola nie są typu data/godzina.
Jeśli mam słuszność, to nie jest to poprawne.
Pola takie powinny być data/godzina, a filtr oparty o wyrażenia Year Month.
napisał: affix
postów: 7


umieszczony:
5 grudnia 2007
17:11

  
Witam Szacowne Grono.

Mam w Accessie formularz frm_FORM. Umiescilem w nim poformularz frm_SUBFORM oraz kilka przyciskow, ktore filtruja podformularz wedlug zadanych parametrow. Zrodlem formularza jest kwerenda qry_QUERY. Podformularz
wyswietla zawodnikow (IDzawodnik) oraz ostatni sezon gry z nazwa klubu oraz runda, np.


KOWALSKI Jan - KLUB - 2007/08 jesien (IDzawodnika, IDklubu, sezon, runda)


Pola filtrowane to sezon i runda.


Mam przyciski: 2007/08, 2006/07, 2005/06 itd. Po kliknieciu filtruje mi podformularz wg filtra umieszczonego w VBA, np:


Private Sub cmd_0708_Click()
Me.frm_SBFORM.Form.Filter = "ostatni_sezon = '2007/08' OR
(ostatni_sezon = '2007' AND runda ='j')"
Me.frm_SBFORM.Form.FilterOn = True
End Sub


Chce w formularzu glownym umiescic pod kazdym przyciskiem textbox w ktorym bylaby wyswietlona ilosc rekordow po zastosowaniu filtra. Czyli w momencie, kiedy formularz sie otwiera i wyswietla wszystkie rekordy w kazdym textbox'ie wyswietlilaby sie liczba rekordow i od razu widzialbym (bez koniecznosci wcisniecia przycisku) ile jest rekordow przy zalozonym filtrze.


Czy ktos jest mi w stanie pomoc?


----
Pozdrawiam


Marek Walczak
affix@poczta.onet.pl


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z