Używanie parametrów w zapytaniach, formularzach i raportach

Jeśli chcesz, aby przy każdym uruchomieniu zapytania w programie Access był wyświetlany monit o wprowadzenie danych wejściowych, możesz utworzyć zapytanie parametryczne.

Możesz również utworzyć formularz w celu gromadzenia wartości parametrów, które będą używane do ograniczania rekordów zwracanych dla zapytań, formularzy i raportów. W tym artykule wyjaśniono, jak korzystać z formularzy, aby usprawnić używanie parametrów w zapytaniach, formularzach i raportach.

W tym artykule

Omówienie

Używanie parametrów w zapytaniach

Określanie typów danych parametrów

Tworzenie formularza zbierającego parametry

Tworzenie formularza zbierającego parametry dla raportu

Omówienie

W programie Access za pomocą kryteriów w zapytaniu parametrycznym można ograniczyć zestaw rekordów zwracanych przez to zapytanie. Może się okazać, że pola dialogowe udostępniane przez zapytanie parametryczną są niewystarczające w stosunku do Twoich potrzeb. W takich przypadkach możesz utworzyć formularz, który będzie lepiej spełniał określone wymagania dotyczące zbierania parametrów. W tym artykule wyjaśniono, jak utworzyć formularz, który zbiera parametry raportu i zapytania. W tym artykule założono, że potrafisz tworzyć zapytania i definiować parametry w zapytaniach. Aby wykonać poniższe czynności, trzeba co najmniej umieć utworzyć zapytanie wybierające.

W tym artykule podano przykłady użycia parametrów w zapytaniach. Nie zawiera on wyczerpującej dokumentacji dotyczącej określania kryteriów.

Używanie parametrów w zapytaniach

Używanie parametrów w zapytaniach jest równie proste, jak tworzenie zapytania używającego kryteriów. Zapytanie można zaprojektować w taki sposób, aby był wyświetlany monit o podanie jednej informacji, na przykład numeru części, lub kilku danych, na przykład dwóch dat. Dla każdego parametru zapytanie parametryczne wyświetla oddzielne okno dialogowe, w którym należy wpisać wartość parametru.

Dodawanie parametru do zapytania

  1. Utwórz zapytanie wybierające, a następnie otwórz widok projektu zawierający to zapytanie.

  2. W wierszu Kryteria pola, do którego chcesz zastosować dany parametr, wpisz w nawiasach kwadratowych tekst, który ma być wyświetlany w oknie dialogowym parametru. Na przykład:

    [Data rozpoczęcia]

    Po uruchomieniu zapytania parametrycznego w oknie dialogowym zostanie wyświetlony monit bez nawiasów.

    W przypadku monitów o podanie parametrów można również użyć wyrażenia, na przykład:

    Between [Data rozpoczęcia] And [Data zakończenia]

    Uwaga : Dla każdego monitu o podanie parametru jest wyświetlane osobne okno dialogowe. W drugim przykładzie są wyświetlane dwa okna: jedno dla parametru Data rozpoczęcia i jedno dla parametru Data zakończenia.

  3. Powtórz krok 2 dla każdego pola, do którego chcesz dodać parametry.

Za pomocą powyższej procedury można dodać parametr do zapytań następujących typów: wybierające, krzyżowe, dołączające, tworzące tabele i aktualizujące.

Można również dodać parametr do zapytania składającego, wykonując następujące czynności:

  1. Otwórz zapytanie składające w widoku SQL.

  2. Dodaj klauzulę WHERE zawierającą każde pole, którego ma dotyczyć monit o podanie parametru.

    Jeśli klauzula WHERE już istnieje, sprawdź, czy pola, których ma dotyczyć monit o podanie parametrów, już istnieją w klauzuli — jeśli nie, dodaj je.

  3. Zamiast używać kryterium w klauzuli WHERE, użyj monitu o podanie parametru.

Określanie typów danych parametrów

Można również określić, jaki typ danych powinien być akceptowany przez parametr. Typ danych można określić dla dowolnego parametru, ale szczególnie istotne jest określenie typu dla danych liczbowych, walutowych oraz daty/godziny. Określenie typu danych akceptowanego przez parametr umożliwia wyświetlanie pomocnego komunikatu o błędzie w przypadku, gdy użytkownik wprowadzi nieprawidłowy typ danych — na przykład tekst, gdy oczekiwanym typem danych jest waluta.

Uwaga : Jeśli konfiguracja parametru przewiduje akceptowanie danych tekstowych, wszelkie wprowadzone dane są interpretowane jako tekst i nie jest wyświetlany żaden komunikat o błędzie.

Aby określić typ danych dla parametrów w zapytaniu, wykonaj następujące czynności:

  1. Po otwarciu kwerendy w widoku projektu na karcie Projektowanie, w grupie Pokazywanie/ukrywanie kliknij przycisk Parametry.

  2. W oknie dialogowym Parametry kwerendy, w kolumnie Parametr wpisz monit dla każdego parametru, dla którego chcesz określić typ danych. Upewnij się, że każdy parametr jest zgodny z monitem użytym w wierszu Kryteria siatki projektu kwerendy.

  3. W kolumnie Typ danych wybierz typ danych dla każdego parametru.

Tworzenie formularza zbierającego parametry

Zapytania parametryczne udostępniają wbudowane okno dialogowe, które służy do zbierania parametrów, jednak ich funkcjonalność jest ograniczona. Użycie formularza do zbierania parametrów pozwala korzystać z następujących funkcji:

  • Możliwość używania kontrolek dla określonego typu danych, na przykład kontrolek kalendarza dla dat.

  • Trwałość zbieranych parametrów, dzięki czemu można ich używać w więcej niż jednym zapytaniu.

  • Możliwość używania pól kombi lub pól listy w celu zbierania parametrów, co pozwala na wybieranie pozycji z listy dostępnych wartości danych.

  • Możliwość dostarczania kontrolek dla innych funkcji, na przykład otwierania lub odświeżania zapytania.

W poniższym klipie wideo przedstawiono sposób tworzenia prostego formularza w celu zbierania parametrów zapytania zamiast używania okien dialogowych skojarzonych zazwyczaj z zapytaniami parametrycznymi.

Przeglądarka nie obsługuje klipu wideo. Zainstaluj dodatek Microsoft Silverlight, Adobe Flash Player lub program Internet Explorer 9.

Tworzenie formularza zbierającego parametry dla raportu

To zadanie można wykonać na kilka sposobów, my jednak przedstawimy tylko jedną technikę, wykorzystującą głównie makra. Aby utworzyć formularz zbierający parametry dla raportu, wykonaj poniższe czynności.

Krok 1. Tworzenie formularza akceptującego dane wejściowe

Krok 2. Tworzenie modułu sprawdzającego, czy formularz parametrów jest już załadowany

Krok 3. Tworzenie makra sterującego formularzem i raportem

Krok 4. Dodawanie przycisków poleceń OK i Anuluj do formularza

Krok 5. Używanie danych formularza jako kryteriów zapytania

Krok 6. Dodawanie akcji makra do zdarzeń raportu

Krok 7. Wypróbowanie formularza

Krok 1. Tworzenie formularza akceptującego dane wejściowe

  1. Na karcie Tworzenie w grupie Formularze kliknij przycisk Projekt formularza.

  2. W widoku projektu naciśnij klawisz F4, aby wyświetlić arkusz właściwości, a następnie określ właściwości formularza zgodnie z poniższą tabelą.

    Właściwość

    Ustawienie

    Podpis

    Wprowadź nazwę, która ma być wyświetlana na pasku tytułu formularza.

    Widok domyślny

    Formularz pojedynczy

    Zezwalaj na widok formularza

    Tak

    Zezwalaj na widok arkusza danych

    Nie

    Zezwalaj na widok tabeli przestawnej

    Nie

    Zezwalaj na widok wykresu przestawnego

    Nie

    Paski przewijania

    Żadne

    Selektory rekordów

    Nie

    Przyciski nawigacyjne

    Nie

    Styl obramowania

    Okno dialogowe

  3. Dla każdego parametru, który ma być zbierany przez formularz, kliknij przycisk Pole tekstowe w grupie Kontrolki na karcie Projektowanie.

  4. Ustaw właściwości pól tekstowych zgodnie z poniższą tabelą.

    Właściwość

    Ustawienie

    Nazwa

    Wprowadź nazwę, która opisuje parametr, na przykład Data rozpoczęcia.

    Format

    Wybierz format, który odzwierciedla typ danych pola parametru. Na przykład dla pola daty wybierz pozycję Data ogólna.

  5. Zapisz formularz i nadaj mu nazwę, na przykład formKryteria.

Krok 2. Tworzenie modułu sprawdzającego, czy formularz parametrów jest już załadowany

  1. Na karcie Tworzenie w grupie Makra i kod kliknij pozycję Moduł. Uwaga: jeśli korzystasz z programu Access 2007, na karcie Tworzenie w grupie Inne kliknij pozycję Moduł.

    W Edytorze Visual Basic zostanie otwarty nowy moduł.

  2. Wpisz lub wklej następujący kod w Edytorze Visual Basic:

    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
    If oAccessObject.CurrentView <> acCurViewDesign Then
    IsLoaded = True
    End If
    End If
    End Function
  3. Zapisz moduł z unikatową nazwą, a następnie zamknij Edytor Visual Basic.

Krok 3. Tworzenie makra sterującego formularzem i raportem

Używając funkcji podmakra makra programu Access, możemy zdefiniować wszystkie wymagane kroki, które trzeba wykonać w jednym makrze. Utworzymy cztery podmakra — Otwórz okno dialogowe, Zamknij okno dialogowe, OK i Anuluj — aby sterować różnymi zadaniami potrzebnymi do wykonania tej procedury. Posługując się poniższym zrzutem ekranu, utwórz nowe makro z następującymi podmakrami i akcjami. Uwaga: w tym przykładzie nasz formularz parametru ma nazwę frmCriteria. Dostosuj swoje makro, aby było zgodne z nazwą formularza, który został utworzony wcześniej. Musisz także pamiętać, aby kliknąć pozycję Pokaż wszystkie akcje na karcie Projektowanie, aby wyświetlić wszystkie akcje makra.

Zrzut ekranu przedstawiający makro programu Access z czterema podmakrami i akcjami.

Zapisz i zamknij makro. Nadaj nazwę dla makra, na przykład Makro Zakres dat.

Krok 4. Dodawanie przycisków poleceń OK i Anuluj do formularza

  1. Otwórz ponownie formularz parametru utworzony wcześniej w widoku projektu.

  2. Upewnij się, że opcja Użyj kreatorów kontrolek w grupie Kontrolki na karcie Projektowanie nie jest zaznaczona.

  3. Na karcie Projektowanie w grupie Kontrolki kliknij pozycję Przycisk.

  4. Umieść wskaźnik myszy poniżej pól tekstowych w swoim formularzu, a następnie przeciągnij, aby utworzyć przycisk polecenia OK.

  5. Jeżeli arkusz właściwości jest niewidoczny, naciśnij klawisz F4, aby go wyświetlić.

  6. Ustaw właściwości przycisku OK zgodnie z poniższą tabelą.

    Właściwość

    Ustawienie

    Nazwa

    OK

    Podpis

    OK

    Domyślny

    Tak

    PrzyKliknięciu

    Wprowadź nazwę makra, na przykład Makro Zakres dat.OK.

  7. Utwórz przycisk polecenia Anuluj i ustaw jego właściwości zgodnie z poniższą tabelą.

    Właściwość

    Ustawienie

    Nazwa

    Anuluj

    Podpis

    Anuluj

    PrzyKliknięciu

    Wprowadź nazwę makra, na przykład Makro Zakres dat.Anuluj.

  8. Zapisz i zamknij formularz.

Krok 5. Używanie danych formularza jako kryteriów zapytania

  1. Otwórz utworzone wcześniej zapytanie w widoku projektu.

  2. Wprowadź kryteria dla danych. Użyj obiektu Formularz, nazwy formularza i nazwy elementu kontrolka:

    • Na przykład w bazie danych programu Access (accdb lub mdb) w przypadku formularza o nazwie formKryteria należy użyć następującego wyrażenia, aby odwołać się do kontrolek Data rozpoczęcia i Data zakończenia użytych w zapytaniu:

      Between [Formularze]![formKryteria]![Data rozpoczęcia] And [Formularze]![formKryteria]![Data zakończenia]

Krok 6. Dodawanie akcji makra do zdarzeń raportu

  1. Otwórz raport, którego chcesz użyć, w widoku projektu.

  2. Jeżeli arkusz właściwości jest niewidoczny, naciśnij klawisz F4, aby go wyświetlić.

  3. Upewnij się, że właściwość Źródło rekordów raportu używa zapytania parametrycznego zdefiniowanego wcześniej.

  4. Ustaw te dwie dodatkowe właściwości raportu zgodnie z poniższą tabelą.

    Właściwość

    Ustawienie

    PrzyOtwarciu

    Wprowadź nazwę makra, na przykład Makro Zakres dat.Otwórz okno.

    PrzyZamknięciu

    Wprowadź nazwę makra, na przykład Makro Zakres dat.Zamknij okno.

    W przypadku zdarzenia Otwórz raportu program Access uruchomi akcje zdefiniowane w podmakrze Otwórz okno dialogowe obiektu Makro Zakres dat. Podobnie w przypadku zamykania raportu program Access uruchomi akcje zdefiniowane w podmakrze Zamknij okno dialogowe obiektu Makro Zakres dat.

  5. Zapisz i zamknij raport.

Krok 7. Wypróbowanie formularza

Teraz, gdy wszystkie obiekty programu Access zostały już utworzone, warto wypróbować formularz. Otwórz raport w widoku Widok raportu lub Podgląd wydruku i zwróć uwagę, że zanim program Access wyświetli raport, formularz parametrów jest wyświetlany w trybie okna dialogowego. Wprowadź wymagane kryteria w polach tekstowych utworzonych wcześniej, a następnie kliknij przycisk polecenia OK w formularzu. Program Access ukryje następnie formularz (Visible = No) i otworzy raport zawierający tylko te dane, które są zgodne z wprowadzonymi kryteriami. Jest to możliwe, ponieważ zapytanie parametryczne, na którym jest oparty raport, może odczytywać wartości w kontrolkach w ukrytym formularzu. Gdy zamkniesz raport, program Access zamknie również formularz parametrów.

Początek strony

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×