RSS


[ Pobierz całość w formacie PDF ]
.Umożliwia to zadawanie użytkownikom pytań okryteria w bardziej zrozumiały lub po prostu bardziej grzeczny sposób.Zmień parametr i sposób jego przedstawienia naProszę wprowadzić kod klienta.Teraz kwerenda, pytając klienta, użyje powyższego zdania.Tworzenie parametrów w kwerendach korzystających z programuKwerendy parametryczne mogą działać w aplikacjach w inny sposób  poprzez program.Parametry tworzą w kwerendziezbiór, do którego możesz zwracać się podczas wykonywania kwerendy w kodzie VBA.Ma to swoje dobre strony.Winterfejsie użytkownika możesz pobrać wszystkie parametry poprzez formularz, jednocześnie kontrolując typ danych i ichpoprawność, a następnie umieścić je wszystkie w kwerendzie parametrycznej.Umożliwia to użytkownikowi całościoweprzeglądanie tego, co wpisuje, i dokonywaniezmian przed otrzymaniem zestawu rekordów.Podczas normalnego wykonywania kwerendy parametrycznej użytkownik niema możliwości powrotu do poprzednich parametrów.Po wpisaniu wartości może jedynie iść dalej lub anulować kwerendę.Tworzenie kwerend parametrycznych siatka QBE a programCzęsto programiści wykonują procedury SQL poprzez kod.W wielu przypadkach sposób ten sprawdza się doskonale,jednakże nie jest pozbawiony wad.Po pierwsze, procedury SQL mogą być niezrozumiałe lub niedostępne dla innych,mniej doświadczonych programistów, których zadaniem w przyszłości może być obsługa tej aplikacji.Może to doprowadzićdo błędów w jej działaniu.Użycie kwerendy parametrycznej umożliwia innym programistom, posiadającym oczywiścieodpowiednie uprawnienia, modyfikowanie kwerendy poprzez siatkę QBE, co może być uważane za wspólny mianownikużytkowników i programistów Accessa.Najważniejszy jest fakt, że w większości przypadków kwerenda parametrycznajest najszybszym i najbardziej wiarygodnym sposobem na wykonywanie kwerendy bez zmiany jej kryteriów lubwłaściwości.Dzieje się tak, ponieważ Access kompiluje kwerendy, więc Jet ma już gotowy ich profil wykonywania.Krótkomówiąc, ciąg SQL w kodzie nie jest zoptymalizowany, a kwerenda parametryczna może być optymalizowana.Kiedykwerenda parametryczna jest we właściwy sposób wykonywana poprzez program, użytkownik nie jest proszony o podawanieżadnych informacji.Wykonywanie kwerendy parametrycznejpoprzez programTeraz pokażemy, w jaki sposób kwerenda parametryczna może być wykonywana poprzez kod.Wydruk 4.16 akceptujenazwę kwerendy i jeden parametr, a następnie używa tych argumentów, aby otworzyć daną kwerendę i policzyć jej rekordy.Zwracana wartość to ilość rekordów w zestawie rekordów.Możesz uruchamiać tę funkcję z okna Analiza programu lubpoprzez zdarzenie na formularzu.Wydruk 4.16.Funkcja wykonująca kwerendę parametryczną poprzez kodFunction RunParameterQuery (QryName As String, CustID As String)'Funkcja ta uruchomi kwerendę parametryczną, która'pobiera ID klienta jako argument'Argumenty:' QryName  Nazwa kwerendy parametrycznej' CustID  Ciąg identyfikujący klienta'Z "Access 2000  Księga eksperta" (Helion)'Autorzy: Forte, Howe, RalstonDim db As DatabaseDim qrydef As QueryDefDim rs As RecordsetSet db = CurrentDb()Set qrydef = db.QueryDefs (QryName)'Tutaj parametrowi nadajemy nazwę.Qrydef ("ID klienta") = CustIDSet rs = qrydef.OpenRecordset()RunParamQuery = rs.RecordCountRs.Close 72Część I f& Projektowanie bazy danychEnd FunctionWykonywanie kwerendy poprzez zbiór parametrówWydruk 4.17 wykorzystuje w kwerendzie zbiór parametrów.Umieszczając w argumentach funkcji słowo kluczoweParamArray, możesz używać jej z różnymi kwerendami parametrycznymi, niezależnie od ilości wymaganych przez nieparametrów.Funkcja wykonuje pętlę poprzez tablicę ParamArgs() i przyznaje parametry w kolejności ich podawania.Aby użyć tej funkcji, uruchom ją z okna Analiza programu.Otrzymany rezultat to ilość rekordów.Kilkukrotneuruchomienie tej funkcji zaowocuje przyspieszeniem pracy kwerend parametrycznych.Wydruk 4.17.Funkcja uruchamiająca kwerendy parametryczne ze zmienną ilością parametrówFunction OpenParamQuery (QryName, _ParamArray ParamArgs() As Variant) As Long'Z "Access 2000  Księga eksperta" (Helion)'Autorzy: Forte, Howe, Ralston'Argumenty' QryName  Nazwa kwerendy prametrycznej' ParamArgs  Zmienna lista wartości wprowadzanych do' parametrów kwerendy.Muszą być' ułożone w takiej kolejności, w jakiej spodziewa się ich kwerenda.Dim db As DatabaseDim qrydef As QueryDefDim i As IntegerDim rs As RecordsetDim rscount As LongOn Erro GoTo OpenParameterQuery_ErrorSetdb = CurrentDb()Set qry = db.QueryDefs(QueryName)'Przejdz przez wszystkie parametry I przyznawaj je według indeksówFor i = 0 To Ubound(ParamArgs())qry.Parameters(i) = ParamArgs(i)NextSet rs = qry.OpenRecordset(dbOpenSnapshot)OpenParameterQuery = rs.RecordCountOpenParamQuery_Exit:Set qry = Nothingrs.CloseExit FunctionOpenParamQuery_Error:OpenParamQuery = 0GoTo OpenParamQuery_ExitEnd FunctionJeśli dokonasz parametryzacji zagnieżdżonej kwerendy, wciąż będzie ist-niał tylko jeden zbiór parametrów.Kwerendy przekazująceAccess posiada umiejętność łączenia tabel z innych zródeł danych i tworzenia opartych na nich kwerend tak, jakby byłyutworzone w Accessie.Oprócz tego, Access może również przesyłać kwerendy do innych baz danych.W takiej sytuacji,obca baza sama przetwarza swoje dane i zwraca jedynie zestaw rezultatów.Głównymi przyczynami, dla których warto używać kwerend przekazujących, są: wydajność i przepustowość sieci.Gdydołączasz tabelę z bazy typu klient-serwer (np.SQL Server lub Oracle) i uruchamiasz kwerendę opartą na tej tabeli, serwernie jest w stanie stwierdzić, czego od niego oczekujesz.Nawet, gdyby serwer mógł zobaczyć procedurę SQL Accessa, niemógłby jej zinterpretować, gdyż jest napisana w innym dialekcie SQL niż ten używany przez serwery [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvs.xlx.pl