🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
6 messages
6 total messages Started by PB Tue, 30 Aug 2016 07:50
Kryterium w kwerendzie
#137267
Author: PB
Date: Tue, 30 Aug 2016 07:50
14 lines
1388 bytes
Cześć,
W jaki sposób przekazać do kwerendy parametr, aby kwerenda pokazała 
wszystkie wartości.
Szczegóły:
Na frm mam pole kombi w którym znajdują się wartości "Otwarte", 
"Zamkniete", "Wszystkie".

Mam funkcję FStatus,  która pobiera mi odpowiednie statusu z formularza.
W kwerendzie w polu kryterium wywołuję funkcję FStatus, która zwraca mi 
odpowiedni status zlecenia. W tabeli mam statusy Otwarte i Zamkniete. 
Jak przekazać parametr, który pozwoli wyświetlić zarówno otwarte jak i 
zamknięte zlecenia ?

Paweł
Re: Kryterium w kwerendzie
#137268
Author: LeszekN
Date: Tue, 30 Aug 2016 11:39
26 lines
2085 bytes
> W jaki sposób przekazać do kwerendy parametr, aby kwerenda pokazała 
> wszystkie wartości.
Nie stosować w poleceniu SQL "WHERE"  np:

if me.textbox = "Wszystkie" then
   DoCmd.RunSQL "SELECT Tabela1.ID, Tabela1.Status" & _
 FROM Tabela1"
else
   DoCmd.RunSQL "SELECT Tabela1.ID, Tabela1.Status FROM Tabela1
WHERE (((Tabela1.Status)="Otwarte"));





> Szczegóły:
> Na frm mam pole kombi w którym znajdują się wartości "Otwarte", 
> "Zamkniete", "Wszystkie".
> 
> Mam funkcję FStatus,  która pobiera mi odpowiednie statusu z formularza.
> W kwerendzie w polu kryterium wywołuję funkcję FStatus, która zwraca mi 
> odpowiedni status zlecenia. W tabeli mam statusy Otwarte i Zamkniete. 
> Jak przekazać parametr, który pozwoli wyświetlić zarówno otwarte jak i 
> zamknięte zlecenia ?
> 
> Paweł
Re: Kryterium w kwerendzie
#137269
Author: PB
Date: Tue, 30 Aug 2016 18:13
43 lines
2284 bytes
Pytanie dotyczyło troszkę innej kwestii.

Z poziomu kwerendy wywołuję funkcję FStatus :
https://drive.google.com/open?id=0B1l_gwfSkz2zYmpyV2l2Nm13UEU

Jak przekazać do kwerendy parametr, który spowoduje pokazanie wszystkich 
wartości.

Próbowałem przekazać "Is not null" i niestety nie działa. Jak wpiszę 
bezpośrednio do kwerendy wówczas jest ok.

Jakiś pomysł ?

Paweł

W dniu 2016-08-30 o 13:39, LeszekN pisze:
>> W jaki sposób przekazać do kwerendy parametr, aby kwerenda pokazała
>> wszystkie wartości.
> Nie stosować w poleceniu SQL "WHERE"  np:
>
> if me.textbox = "Wszystkie" then
>     DoCmd.RunSQL "SELECT Tabela1.ID, Tabela1.Status" & _
>   FROM Tabela1"
> else
>     DoCmd.RunSQL "SELECT Tabela1.ID, Tabela1.Status FROM Tabela1
> WHERE (((Tabela1.Status)="Otwarte"));
>
>
>
>
>
>> Szczegóły:
>> Na frm mam pole kombi w którym znajdują się wartości "Otwarte",
>> "Zamkniete", "Wszystkie".
>>
>> Mam funkcję FStatus,  która pobiera mi odpowiednie statusu z formularza.
>> W kwerendzie w polu kryterium wywołuję funkcję FStatus, która zwraca mi
>> odpowiedni status zlecenia. W tabeli mam statusy Otwarte i Zamkniete.
>> Jak przekazać parametr, który pozwoli wyświetlić zarówno otwarte jak i
>> zamknięte zlecenia ?
>>
>> Paweł
>
Re: Kryterium w kwerendzie
#137271
Author: Zbigniew Bratko
Date: Wed, 31 Aug 2016 09:26
41 lines
1937 bytes
W dniu 2016-08-30 o 09:50, PB pisze:
> Cześć,
> W jaki sposób przekazać do kwerendy parametr, aby kwerenda pokazała
> wszystkie wartości.
> Szczegóły:
> Na frm mam pole kombi w którym znajdują się wartości "Otwarte",
> "Zamkniete", "Wszystkie".
>
> Mam funkcję FStatus,  która pobiera mi odpowiednie statusu z formularza.
> W kwerendzie w polu kryterium wywołuję funkcję FStatus, która zwraca mi
> odpowiedni status zlecenia. W tabeli mam statusy Otwarte i Zamkniete.
> Jak przekazać parametr, który pozwoli wyświetlić zarówno otwarte jak i
> zamknięte zlecenia ?

Spróbuj użyć w kwerendzie operatora LIKE:

Like (FStatus())

A funkcja FStatus dla parametru WSZYSTKIE niech zwraca "*"

Coś w tym rodzaju:

Public Function FStatus() As String
Dim sStatus As String

   sStatus = Nz(Forms("frmStatus").cboWybierzStatus)

   If StrComp(sStatus, "Wszystkie", vbTextCompare) = 0 Then
     FStatus = "*"
   Else
     FStatus = sStatus
   End If

End Function


-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Re: Kryterium w kwerendzie
#137270
Author: w3isnia
Date: Wed, 31 Aug 2016 14:51
21 lines
2121 bytes
W dniu wtorek, 30 sierpnia 2016 09:50:46 UTC+2 użytkownik PB napisał:
> Cześć,
> W jaki sposób przekazać do kwerendy parametr, aby kwerenda pokazała 
> wszystkie wartości.
> Szczegóły:
> Na frm mam pole kombi w którym znajdują się wartości "Otwarte", 
> "Zamkniete", "Wszystkie".
> 
> Mam funkcję FStatus,  która pobiera mi odpowiednie statusu z formularza.
> W kwerendzie w polu kryterium wywołuję funkcję FStatus, która zwraca mi 
> odpowiedni status zlecenia. W tabeli mam statusy Otwarte i Zamkniete. 
> Jak przekazać parametr, który pozwoli wyświetlić zarówno otwarte jak i 
> zamknięte zlecenia ?
> 
> Paweł

Jeżeli są tylko 3 wartości statusu to można   kryterium
iif(fststus()="wszystkie";"otwarte";fstatus()) or iif(fststus()="wszystkie";"zamkniete";fstatus()) 

Jeśli jest więcej statusów do w kwerendie dodaktowa kolumna
iif(fststus()="wszystkie";true;fstatus()=[ststus]) i filtr na true
Re: Kryterium w kwerendzie
#137272
Author: PB
Date: Thu, 01 Sep 2016 22:30
27 lines
1439 bytes
Super, o to chodziło.

Dziękuję.


W dniu 2016-08-31 o 11:26, Zbigniew Bratko pisze:
>
> Spróbuj użyć w kwerendzie operatora LIKE:
>
> Like (FStatus())
>
> A funkcja FStatus dla parametru WSZYSTKIE niech zwraca "*"
>
> Coś w tym rodzaju:
>
> Public Function FStatus() As String
> Dim sStatus As String
>
>    sStatus = Nz(Forms("frmStatus").cboWybierzStatus)
>
>    If StrComp(sStatus, "Wszystkie", vbTextCompare) = 0 Then
>      FStatus = "*"
>    Else
>      FStatus = sStatus
>    End If
>
> End Function
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads