KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ



Podobne dokumenty
KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw

Przykładowe B+ drzewo

Autor: Joanna Karwowska

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

BAZY DANYCH Panel sterujący

Informatyzacja Przedsiębiorstw

Baza danych sql. 1. Wprowadzenie

Materiały do laboratorium MS ACCESS BASIC

Wprowadzenie do baz danych

QUERY język zapytań do tworzenia raportów w AS/400

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Instrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro.

Bazy danych Access KWERENDY

SMS Kod Automatyczny

Bazy danych - wykład wstępny

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

API transakcyjne BitMarket.pl

TRX API opis funkcji interfejsu

OPTYMALIZACJA PRACY SQL SERVER PRZY WSPÓŁPRACY Z MICROSOFT DYNAMICS NAV - ZALECENIA PROGRAMISTYCZNE

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym

Jet Express 1. 1 Spis treści

WPROWADZENIE DO BAZ DANYCH

Projekt Hurtownia, realizacja skojarzeń dostawców i produktów

Korespondencja seryjna

Instrukcja obsługi programu VisitBook Semieta Lite

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

SQL (ang. Structured Query Language)

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Oracle Application Express

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Baza danych. Baza danych to:

WYCIĄGI: 1. Administracja:

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Wprowadzenie do baz danych

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Programowanie MorphX Ax

Spis treści INTERFEJS (WEBSERVICES) - DOKUMENTACJA TECHNICZNA 1

I. Interfejs użytkownika.

Podręcznik Integracji

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Dokumentacja API BizIn

Dodatek. Instrukcja instalacji i konfiguracji. dla Subiekt nexo. Wersja:

Instrukcja poruszania się po katalogu on-line

INSTRUKCJA OBSŁUGI ARKUSZA FAKTURA_VAT.XLSX

Załącznik nr 3 do opisu przedmiotu zamówienia. Instrukcja modułu wymiany danych ediom wytyczne.

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Jak sprawnie filtrować i sprawdzać poprawność danych w Excelu? 1

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Informatyzacja Przedsiębiorstw

Zwróćmy uwagę w jakiej lokalizacji i pod jaką nazwą zostanie zapisana baza (plik z rozszerzeniem *.accdb). Nazywamy

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

DAO. tworzenie tabeli

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Instalacja i obsługa aplikacji MAC Diagnoza EW

Struktura drzewa w MySQL. Michał Tyszczenko

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Projektowanie struktury danych

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Krzysztof Kluza proste ćwiczenia z baz danych

5. Bazy danych Base Okno bazy danych

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Kiedy i czy konieczne?

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Spis treści. 1 Moduł RFID (APA) 3

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

T A B E L E i K W E R E N D Y

1. Zarządzanie informacją w programie Access

WPROWADZENIE DO OBSŁUGI BAZ DANYCH MS ACCESS 2007(2010)

Technologia informacyjna

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

2017/2018 WGGiOS AGH. LibreOffice Base

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Baza danych. Modele danych

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Autor: Joanna Karwowska

Bazy danych Karta pracy 1

Baza numerów Wersja 1.1

INSTRUKCJA OBSŁUGI Wersja: 1.8

INTERNETOWY KURS PODSTAW IT

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Oracle11g: Wprowadzenie do SQL

DECLARE VARIABLE zmienna1 typ danych; BEGIN

ING BusinessOnLine FAQ. systemu bankowości internetowej dla firm

PROGRAM RETROKONWERSJI ZDALNEJ

Laboratorium 15: Bazy Danych Tworzenie bazy danych i programowanie elementów nawigacyjnych aplikacji stworzonej przy pomocy technologii dbexpress

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Wypożyczalnia by CTI. Instrukcja

Przetwarzanie subskrypcji jest ustawione jako usługa systemowa i uruchamia się automatycznie w określonych odstępach czasowych.

Wyciągi. Lista operacji na wyciągu w postaci PDF

Transkrypt:

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ Wykład 3 Katedra Inżynierii Komputerowej Jakub Romanowski jakub.romanowski@kik.pcz.pl

POBIERANIE DANYCH C/AL Poniższe funkcje używane są do operacji pobierania i szukania rekordów w bazie danych: GET FIND NEXT Są to jedne z najczęściej używanych funkcji w C/AL. Istotne jest aby znać różnice między funkcjami GET i FIND, oraz jak używać funkcji NEXT w połączeniu z FIND.

Funkcja GET (1) GET pobiera jeden rekord z tabeli bazy na podstawie klucza głównego GET ma następującą składnie: [Ok :=] Record.GET([Value],...) np.: waluta.get('10'); gdzie rezultatem będzie rekord dla waluty o identyfikatorze 10 będącym zarazem kluczem głównym

Funkcja GET (2) Funkcja GET wymaga sprawdzenia poprawności wykonania jak w poniższym przykładzie: IF waluta.get('10') THEN... // Operacje dla poprawnego pobrania rekordu. ELSE... // Obsługa błędu. W przeciwnym wypadku otrzymamy błąd w czasie wykonywania programu.

Funkcja GET (3) Funkcja GET nie stosuje żadnych filtrów wyszukiwania. Działa niezależnie od ewentualnie narzucanych filtrów i nie modyfikuje ich Zawsze przeszukuje wszystkie rekordy przeszukiwanej tabeli

Funkcja FIND (1) Funkcja ta dokonuje przeszukiwania tabeli na podstawie wartości przechowywanych w kluczach. FIND ma następująca składnie: Ok := Record.FIND([Which]) np.: waluta.find('-'); Rezultatem powyższej instrukcji będą wszystkie rekordy przeszukiwanej tabeli ze względu na warunek wyszukiwania '-'.

Funkcja FIND (2) Istotne różnice między FIND i GET FIND używa bieżących filtrów wyszukiwania FIND umożliwia wyszukiwania rekordów na podstawie mniejszej, większej lub równej wartości w stosunku do podanej jako warunek wyszukiwania FIND pozwala na pobierania pierwszego lub ostatniego rekordu oraz uzależnienia rezultatu wyszukiwania od kolejności sortowania

Funkcja NEXT NEXT używany jest zwykle w połączeniu z FIND do poruszania się po rekordach pobranych z bazy. Składnia funkcji NEXT: Steps := Record.NEXT([Steps]) Powyższy przykład przedstawia użycie funkcji NEXT do przejścia do rekordu o indeksie Steps Funkcja FIND automatycznie ustawia automatycznie indeks rekordów na początek pobranych rekordów NEXT pozwala na przemieszczanie się po rekordach od początku do końća W momencie wyczerpania rekordów NEXT zwraca wartość 0 FIND('-'); REPEAT // operacje na rekordach UNTIL NEXT = 0;

Ograniczenia do funkcji FIND Zestaw funkcji do filtrowania rekordów pobieranych z FIND SETCURRENTKEY SETRANGE SETFILTER GETRANGEMIN GETRANGEMAX

Funkcja SETCURRENTKEY Składnia: [Ok :=] Record.SETCURRENTKEY(Field1, [Field2],...) Działanie SETCURRENTKEY Nieaktywne pola są ignorowane Kiedy szukamy klucza pierwsze wystąpienie jest wybierane co oznacza, że wybierając przykładowo zależność od jednego pola możemy uzyskać błędne wyniki w momencie gdy klucz główny to zbiór pól w tabeli (Więcej niż jedno pole składa się na PK) Jeśli nie będzie znaleziony żaden z kluczy, które określiliśmy zostanie zwrócona wartość FALSE oraz wystąpi błąd programu. Należy pamiętać o instrukcji obsługi błędu

Funkcja SETRANGE (1) Jest to prosty filtr odpowiadający instrukcją warunków wyboru rekordów z języka SQL Składnia: Record.SETRANGE(Field [,From-Value] [,To-Value]); np.: Record.SETRANGE("No.",'10000','90000');

Funkcja SETRANGE (2) SETRANGE usuwa wszystkie poprzednie filtry i stosuje tylko ten ustalony w tej funkcji czyli przedział od. do Jeśli nie podamy przedziałów od do SETRANGE mimo wszystko usunie ustalane wcześniej filtry Jeśli ustalimy jedynie wartość od to wartość zakresu do przejmuje wartość od

Funkcja SETFILTER (1) SETFILTER ustawia filtr w bardziej generalny sposób niż SETRANGE Składnia: Record.SETFILTER(Field, String [, Value],...]; gdzie Field oznacza pole, które chcemy filtrować, a String to wyrażenie filtrujące

Funkcja SETFILTER (2) Pole String może zawierać parametry %1 czy %2 którym odpowiadają odpowiednie zmienne podane w parametrze Value Przykłady: Customer.SETFILTER("No.", '>10000 & <> 20000'); Customer.SETFILTER("No.",'>%1&<>%2', Value1, Value2);

Funkcja GETRANGEMIN Funkcja ta pobiera minimalną wartość dla zastosowanego filtra Składnia: Record.GETRANGEMIN(Field); W momencie gdy filtr ustawiony przykładowo za pomocą SETFILTER jest błędnie skonstruowane (zły warunek wyszukiwania) GETRANGE zwróci błąd i przerwie działanie programu Przykład: BottomValue := Customer.GETRANGEMIN("No.");

Funkcja GETRANGEMAX Jest odpowiednikiem GETRANGEMIN dla pobrania wartości maksymalnej Składnia oraz pozostałe zasady używania są identyczne jak w GETRANGEMIN

PRZYKŁAD Przykład obejmuje tabelę Language z demonstracyjnej bazy CRONUS NAGLOWEK:= 'Szukam jezyka BGR '; //MESSAGE(naglowek); singleitem.get('bgr'); NAGLOWEK := NAGLOWEK + singleitem.name; //MESSAGE(singleItem.Name); singleitem.find('-'); REPEAT symbol:= singleitem."windows Language ID"; MESSAGE(singleItem.Name + '%1', symbol); singleitem.next(); UNTIL NEXT = 0;

PRZYKŁAD dodatkowe informacje Okno Properties dla TextBox i przypisanie tekstu do TextBox-a

Zadanie (1) Tabela do zadania : Currency Exchange Rate Id tabeli to 303 1. Pobrać do zmiennych wartości maksymalne i minimalne i wpisać kod walut(currency Code) oraz wartość do TextBox-a dla pola Relational Exch_ Rate Amount 2. Pobrać wszystkie rekordy z określonej tabeli i analizując każdy kolejny sprawdzać czy jest wyżej wybranym minimum lub maksimum. Jeśli tak zasygnalizować to poprzez MESSAGE() w formie max/min to: KOD_WALUTY zarówno dla max. i min.

Zadanie (2) 3. Pobrać wszystkie rekordy i zasygnalizować MESSAGE wystąpienie rekordu dla kodu USD i EUR podając komunikat Wystapil KOD 4. Przetestować działanie funkcji SETRANGE dla pola Relational Exch_ Rate Amount wybierając wartości od 1 do 20 (Decimal) i wyświetlić kolejno za pomocą MESSAGE 5. Zbadać działanie funkcji SETCURRENTKEY (nie)ustawiając odpowiedni klucz/e dla wyżej wykonywanych zapytań

Zadanie - tabela

Bibliografia Microsoft Dynamics NAV 2005 Application Designer s Guide Microsoft Dynamics NAV Programming Guide Microsoft Official Training Materials for Microsoft Dynamics C/AL. Functions http://msdn.microsoft.com/enus/library/dd355277.aspx