Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 66873 Skopiuj do schowka Access - Formularz wyszukujący
Autor Wiadomość
Pojaro 
Starszy Forumowicz


Wersja: Win Office 2013
Posty: 33
Wysłany: 03-01-2020, 13:05   Access - Formularz wyszukujący

Są takie momenty w życiu, gdy mój komputer bezlitośnie obnaża moje braki...

Co do owych braków...
...przyszło mi się zmierzyć z takim oto problemem:

Kwerenda "Suchen" daje mi ogromną elastyczność w wyszukiwaniu poszczególnych rekordów, ale posiada jedną (jak dla mnie poważną) wadę - przy otwarciu formularza "Suchen" ładowane są automatycznie wszystkie rekordy z bazy danych zgodnie z kryteriami kwerendy (dane są pobierane z tabeli "Rucklaufliste"). No właśnie, wszystkie. Przy kilku rekordach nie stanowi to większego problemu, natomiast przy kilku tysiącach...

Stąd pytanie:
- jest jakaś metoda by to zadziałało (przy zachowaniu aktualnej funkcjonalności) w taki mniej więcej sposób:

- przy uruchomieniu - ładowanie pustego formularza,
- po aktualizacji, jeżeli pola wyszukiwania są puste - pusty formularz,
- po aktualizacji, jeżeli w którymś z pól wyszukiwania podane są dane - zwraca (znalezione w oparciu o te dane) rekordy.

Rücklaufliste Datenbank - Formularz.rar
Pobierz Plik ściągnięto 18 raz(y) 798.72 KB

_________________
Pozdrawiam,
Jarek
ID posta: 379123 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 305
Pomogła: 451 razy
Posty: 2468
Wysłany: 04-01-2020, 07:47   

Zobacz, czy o to chodziło.

Rücklaufliste Datenbank - Formularz.rar
Pobierz Plik ściągnięto 22 raz(y) 106.07 KB

_________________
marzatela

http://www.szultaset.pl
ID posta: 379151 Skopiuj do schowka
 
 
Pojaro 
Starszy Forumowicz


Wersja: Win Office 2013
Posty: 33
Wysłany: 04-01-2020, 11:41   

Wielkie dzięki za tak szybką odpowiedź.


Wygląda to coraz lepiej, ale...
no właśnie, zawsze jest jakieś "ale"...

...niespełniony jest tutaj jeden warunek:

Cytat:
- po aktualizacji, jeżeli pola wyszukiwania są puste - pusty formularz



W tej chwili jest tak, że po aktualizacji z pustymi polami wyszukiwania, zwracane są wszystkie rekordy bazy.

Idealny stan byłby taki:

- po aktualizacji, jeżeli pola wyszukiwania są puste - pusty formularz
- jako wynik wyszukiwania (aktualizacji) otrzymuję szukany/ne rekord, jeżeli taki w bazie nie istnieje - pusty formularz.


Podsumowując: Otrzymuję wynik wyszukiwania lub pusty formularz (żadna inna opcja).
_________________
Pozdrawiam,
Jarek
ID posta: 379157 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 305
Pomogła: 451 razy
Posty: 2468
Wysłany: 04-01-2020, 16:53   

ok, zobacz teraz

Rücklaufliste Datenbank - Formularz.rar
Pobierz Plik ściągnięto 17 raz(y) 107.25 KB

_________________
marzatela

http://www.szultaset.pl
ID posta: 379166 Skopiuj do schowka
 
 
Pojaro 
Starszy Forumowicz


Wersja: Win Office 2013
Posty: 33
Wysłany: 04-01-2020, 21:50   

Muszę przyznać: wzorowa robota...
...no, ale jest jeszcze "małe ale"...


Przy podaniu daty jako kryterium otrzymuję info:

Run-time error '3075':
Błąd składniowy w dacie w wyrażeniu kwerendy
'Datum =#18.05.2019'.

Po debugowaniu wskazuje na linię:

Kod:

...
If MyFiltr = "" Then
    Me.Filter = "Datum=#1900-01-01#"
   Else
    Me.Filter = MyFiltr    <===
End If
Me.FilterOn = True
End Sub


Reszta działa bez zarzutu, naprawdę dobra robota.
_________________
Pozdrawiam,
Jarek
ID posta: 379179 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 305
Pomogła: 451 razy
Posty: 2468
Wysłany: 04-01-2020, 23:06   

Dziwne, u mnie działa bez problemu. No, ale zobacz teraz.

Rücklaufliste Datenbank - Formularz.rar
Pobierz Plik ściągnięto 22 raz(y) 106.65 KB

_________________
marzatela

http://www.szultaset.pl
ID posta: 379186 Skopiuj do schowka
 
 
Pojaro 
Starszy Forumowicz


Wersja: Win Office 2013
Posty: 33
Wysłany: 04-01-2020, 23:53   

Działa perfekcyjnie, stokrotne dzięki.

Ps,
moja koncepcja rozwiązania tego problemu opierała się na podmianie kwerend w zależności od tego, czy pola wyboru są wypełnione, czy też puste. Poległem niestety na vba.

Jeszcze raz serdeczne dzięki, bardzo mi pomogłaś.
_________________
Pozdrawiam,
Jarek
ID posta: 379188 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 305
Pomogła: 451 razy
Posty: 2468
Wysłany: 05-01-2020, 08:14   

Też można, choć przy dużej ilości danych filtrowanie zadziała szybciej.
Inna sprawa, że w tej kwerendzie miałeś źle ustawione kryteria. W polu typu Data czy liczba nie może być like.
_________________
marzatela

http://www.szultaset.pl
ID posta: 379189 Skopiuj do schowka
 
 
Pojaro 
Starszy Forumowicz


Wersja: Win Office 2013
Posty: 33
Wysłany: 07-01-2020, 12:48   

Witam ponownie.

Tak, wiem, powinienem założyć nowy temat. Ale problem, z którym się obecnie mierzę wynika bezpośrednio z działań podjętych w tym właśnie wątku. Mianowicie...

...urodził się problem z wydrukiem.

Wcześniej pod kwerendę "qrySuchen" podpięty miałem raport "rptSuchen". No i co kwerenda "odfiltrowała", to raport wydrukował.

Teraz jest tak, że w samej kwerendzie nie ma żadnych kryteriów (wszystko obsługuje VBA), w związku z tym w wydruku otrzymuję listę wszystkich rekordów bazy.

Jak to teraz ogarnąć?

Rücklaufliste Datenbank - Wydruk.rar
Pobierz Plik ściągnięto 17 raz(y) 798.96 KB

_________________
Pozdrawiam,
Jarek
ID posta: 379260 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 305
Pomogła: 451 razy
Posty: 2468
Wysłany: 07-01-2020, 13:22   

Tak na szybko, gdyż nie mam w tej chwili czasu - przed otwarciem raportu odczytaj kodem filtr i wstaw jako parametr do otwarcia raportu.
Jak sobie z tym nie poradzisz, to zajrzę później i podeślę.
_________________
marzatela

http://www.szultaset.pl
ID posta: 379263 Skopiuj do schowka
 
 
Pojaro 
Starszy Forumowicz


Wersja: Win Office 2013
Posty: 33
Wysłany: 08-01-2020, 01:05   

No, niestety rady nie dałem, potrzebuję jednak pomocy.
_________________
Pozdrawiam,
Jarek
ID posta: 379278 Skopiuj do schowka
 
 
marzatela 
Excel Expert



Zaproszone osoby: 305
Pomogła: 451 razy
Posty: 2468
Wysłany: 08-01-2020, 07:37   

Pod przyciskiem Drucken masz teraz makro osadzone. Usuń je i wstaw procedurę:
Kod:
Private Sub KnopfDuckenSuchen_Click()
Dim MyFiltr As String
MyFiltr = Me.Filter
DoCmd.OpenReport "rptSuchen", acViewPreview, , MyFiltr
End Sub
_________________
marzatela

http://www.szultaset.pl
ID posta: 379282 Skopiuj do schowka
 
 
Pojaro 
Starszy Forumowicz


Wersja: Win Office 2013
Posty: 33
Wysłany: 08-01-2020, 08:25   

No, tak. Kombinowałem z "MyFiltr", ale oczywiście nie z "Me.Filter".

Jeszcze raz wielkie dzięki.
_________________
Pozdrawiam,
Jarek
ID posta: 379286 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe