Access

  MS Access 2010+ i Visual Basic for Applications VBA 7.0


 

Windows API

01.

09.11.2017

• Windows API. podstawowe informacje o Interfejsie Programowania Aplikacji •

Windows API (WinAPI) to nazwa podstawowego zestawu Interfejsu Programowania Aplikacji dostępnych w systemach operacyjnych Microsoft Windows. Za pomocą interfejsu API, można tworzyć aplikacje, które działają z powodzeniem na wszystkich wersjach systemu Windows ....

02.

11.11.2017

• Instrukcja Declare. Deklarowanie funkcji API •

Instrukcja Declare wykorzystywana jest na poziomie modułu do deklarowania odwołań do procedur zewnętrznych zawartych w bibliotekach dołączanych dynamicznie (w pliku DLL).
W programie Microsoft Access można użyć instrukcji Declare na poziomie modułu w module standardowym, aby zadeklarować odwołanie do zewnętrznej procedury w bibliotece dołączanej dynamicznie (DLL). Domyślnie instrukcja Declare jest publiczna ....

03.

14.11.2017

• Instrukcja Type. Deklarowanie Typu użytkownika •

Typ użytkownika to złożony typ danych, mogący przechowywać wiele wartości w jednej zmiennej. Cechą odróżniającą typ użytkownika od tablic jest możliwość przechowywania wartości różnych typów. Zazwyczaj grupuje logicznie powiązane ze sobą dane różnego typu w jednym obszarze pamięci. Poszczególne elementy typu użytkownika mają swoje unikatowe nazwy i podanie nazwy, pozwala na uzyskanie dostępu do danego elementu ....

04.

18.11.2017

• Wyszukiwanie plików i folderów. Funkcja API FindFirstFile (...) •

Funkcja FindFirstFile wyszukuje pliki i foldery po nazwie pliku, lub wzorcu z użyciem symboli wieloznacznych "?" oraz "*". W wyszukiwaniu nie można określić żadnych atrybutów, takich jak data lub typ pliku. Wyszukiwanie obejmuje długie i krótkie nazwy plików.
Próba otwarcia wyszukiwania, gdy podana nazwa pliku zawiera na końcu znak backslash (\), zawsze kończy się niepowodzeniem ....

05.

20.11.2017

• Wyszukiwanie plików i folderów. Funkcja API FindNextFile (...) •

Funkcja FindNextFile kontynuje wyszukiwanie plików i folderów, z tymi samymi kryteriami z jakimi wywołano funkcję wyszukującą FindFirstFile. Przy powodzeniu (znalezieniu pliku lub folderu), zwraca wartość różną od Zera, a w strukturze WIN32_FIND_DATA informacje o znalezionym pliku lub folderze. By zakończyć wyszukiwanie należy uchwyt wyszukiwania zamknąć za pomocą funkcji FindClose ....

06.

20.11.2017

• Wyszukiwanie plików i folderów. Funkcja API FindClose (...) •

Funkcja FindClose kontynuje wyszukiwanie plików i folderów, z tymi samymi kryteriami z jakimi wywołano funkcję wyszukującą FindFirstFile. Przy powodzeniu (znalezieniu pliku lub folderu), zwraca wartość różną od Zera, a w strukturze WIN32_FIND_DATA informacje o znalezionym pliku lub folderze. By zakończyć wyszukiwanie należy uchwyt wyszukiwania zamknąć za pomocą funkcji FindClose ....

07.

28.11.2017

• Informacje o pliku lub folderze. Struktura WIN32_FIND_DATA •

Struktura WIN32_FIND_DATA zwracana jest przez m.in. funkcje FindFirstFileFindFirstFile gdy zostanie znaleziony plik lub folder pasujący do nazwy lub wzorca wyszukiwania z użyciem symboli wieloznacznych "?" oraz "*". Zawiera informacje o znalezionym pliku lub folderze, dotyczących nazwy, atrybutów, wielkości, czasu utworzenia, modyfikacji i ....

08.

30.11.2017

• Informacje o datach dot. plików lub folderów. Struktura FILETIME •

Struktura FILETIME jest to 64 bitowa struktura przechowująca informację o dokładnej dacie utworzenia, dostępu, modyfikcji pliku lub folderu. Określa liczbę 100 nanosekundowych odstępów jakie upłynęły od dnia 1 stycznia 1601 roku według czasu UTC. Element dwLowDateTime struktury FILETIME to młodsze 32 bity daty pliku, a element dwHighDateTime struktury FILETIME to starsze 32 bity daty pliku ....

09.

01.12.2017

• Czy tekst jest w formacie Unicode. Funkcja API IsTextUnicode (...) •

Gdy przy wywoływaniu funkcji API zachodzi konieczność przekazania argumentu typu String w formacie Unicode. powinniśmy przed przekazaniem go do takiej funkcji, sprawdzić czy format tekstu jest zgodny z wymaganym formatem Unicode.
Windows API, w bibliotece "advapi32", zawiera funkcję IsTextUnicode służącą do testowania tekstu roboczego ....

10.

20.01.2018

• MultiByteToWideChar (...). Konwersja stron kodowych ASCII lub UTF8 na Unicode. •

Jeżeli tekst jest w innym formacie (innej stronie kodowej) niż  aktualna strona kodowa systemu Windows to aby go poprawnie wyświetlić powinniśmy tekst ten przekonwertować za pomocą funkcji API MultiByteToWideChar(...) na format Unicode (ciąg znaków UTF-16). System zapewni jego prawidłowe wyświetlenie, zgodnie z domyślną stroną kodową systemu Windows ....

11.

20.01.2018

• WideCharToMultiByte(...). Konwersja Unicode na stroną kodową ASCII lub UTF8. •

Funkcja WideCharToMultiByte(...) konwertuje ciąg znaków z formatu Unicode na jednobajtowy ciąg znaków zgodny z określoną stroną kodową ASCII, lub na ciąg znaków w formacie wielobajtowym np. UTF8. W typowych „Accessowych” operacjach konwersja zazwyczaj nie stwarza problemów. Należy się jednak liczyć z pewnym kłopotami przy konwersji bardziej złożonych tekstów. Ciąg znaków w formacie Unicode może zawierać kilkadziesiąt tysięcy znaków, a ciąg znaków ASCII tylko 256 znaków ....

Bitmapy

01.

12.11.2017

• Struktura bitmapy 24-bit. Nagłówek BITMAPFILEHEADER i BITMAPINFOHEADER •

W 24-bitowej bitmapie nie jest zdefiniowana paleta kolorów, więc bezpośrednio po nagłówku BITMAPINFOHEADER w pliku BMP zapisane są dane obrazu. Kolejne wiersze obrazu zapisane są (zazwyczaj) w odwrotnej kolejności, niż są wyświetlane na obrazie, tj. „z dołu do góry”. Trzy kolejne bajty (w sumie 24 bitów) określają kolor piksela. Kolor piksela zapisywany jest w kolejności B (blue), G (green), R (red) ....

02.

17.11.2017

• Formant Rysunek (Image). Właściwość .Picture i .PictureData •

Formant Rysunek (Image) jest najczęściej wykorzystywany w programie Microsoft Access do prezentacji grafiki (rysunku) w formularzu lub w raporcie. Można go stosować zamiennie z formantem Niezwiązana ramka obiektu, w której można wyświetlać dowolny obiekt OLE, który nie jest przechowywany w tabeli.
MS Access przechowuje wyświetlaną bitmapę we właściwości PictureData. Jest ona binarną reprezentacją wyświetlanej bitmapy i jest do odczytu i zapisu we wszystkich widokach. Możliwych jest kilka sposobów przechowywania wyświetlanej bitmapy ....

DAO. System obiektów dostępu do danych (Data Access Objects

01.

17.02.2018

• Metoda CreateTableDef. Tworzenia tabeli za pomocą kodu VBA. •

Metoda CreateTableDef tworzy nowy obiekt TableDef, reprezentujący nowo zdefiniowaną tabelę bazową lub tabelę połączoną w obszarze roboczym Microsoft Jet. Obiekt TableDef reprezentuje zachowaną definicję tabeli bazowej lub tabeli połączonej w obszarach roboczych Microsoft Jet. Operowanie na zdefiniowanej tabeli odbywa się za pomocą obiektu TableDef oraz jego metod i właściwości ....

02.

18.02.2018

• Metoda OpenDatabase. Otwarcie bazy danych za pomocą kodu VBA. •

Metoda OpenDatabase otwiera bazę danych w obiekcie typu Workspace i zwraca odwołanie do obiektu Database. Otwierana baza danych jest automatycznie dodawana do kolekcji Databases. Ponadto, w obszarze roboczym ODBCDirect tworzony jest obiekt Connection, odpowiadający nowemu obiektowi Database, który jest dołączany do kolekcji Connections tego samego obiektu Workspace ....

03.

19.02.2018

• Obiekt Database. Dostęp do otwartej bazy danych. •

Obiekt Database oraz jego metody i właściwości można wykorzystywać do wykonywania działań na otwartej bazie danych. W przypadku bazy danych Microsoft Jet (plik .mdb, .accdb), do wykonywania działań na obiekcie Database, takich jak tworzenie, modyfikacja lub odczytywanie danych dotyczących jego tabel, kwerend i związków, można wykorzystywać inne metody, właściwości i kolekcje ....

04.

20.02.2018

• Obiekt TableDef. Dostęp do struktury i danych lokalnej lub połączonej tabeli. •

Za pośrednictwem obiektu TableDef oraz jego metod i właściwości możemy przeglądać strukturę pól i indeksu dowolnej lokalnej, połączonej lub zewnętrznej tabeli bazy danych. Wykorzystać właściwości Connect i SourceTableName do ustawienia lub pobrania informacji o tabelach połączonych, oraz zastosować metodę RefreshLink, aby uaktualnić łącza do tabel połączonych. Zastosować metodę OpenRecordset by utworzyć Rekordset typu ....

05.

21.02.2018

• Obiekt Field. Dostęp do poszczególnych pól lokalnej lub połączonej tabeli. •

Obiekt Field reprezentuje kolumnę danych o wspólnym typie danych i wspólnym zestawie właściwości. Umożliwia m.in. odczyt i zmianę danych, wykorzystując właściwość Value pola w obiekcie Recordset. odczyt lub zmianę wartość w polu typu obiekt OLE lub Memo obiektu Recordset, wykorzystując metody AppendChunkGetChunk oraz właściwość FieldSize, określić typ danych, które mogą być przechowywane w polu, wykorzystując właściwości Type, SizeAttributes ....

06.

22.02.2018

• Obiekt Index. Indeksowanie pól w tabeli bez duplikatów i duplikaty OK. •

Obiekty Index definiują kolejność rekordów pobieranych z tabel bazy danych oraz określają, czy mogą powtarzać się takie same rekordy; zapewniają jednocześnie efektywny dostęp do danych.
W aparacie bazy danych Microsoft Jet indeksy są wykorzystywane podczas sprzęgania tabel i tworzenia obiektów Recordset. Indeksy określają kolejność, w której obiekty Recordset typu tabela zwracają rekordy, ale nie określają kolejności, w jakiej aparat bazy danych Microsoft Jet przechowuje rekordy w tabelach bazowych ....

07.

23.02.2018

• Obiekt QueryDef. Zachowana i tymczasowa kwerenda Microsoft Jet •

Obiekt QueryDef jest w bazie danych zachowaną definicją kwerendy Microsoft Jet. Możliwe jest tworzenie tymczasowych obiektów QueryDef, które w odróżnieniu od trwałych obiektów nie są zapisywane na dysk, ani nie są dołączane do kolekcji QueryDefs. Kwerenda wykonywana na podstawie trwałego obiektu QueryDef działa szybciej niż równoważna jej instrukcja SQL wykonana z pomocą metody OpenRecordset. Wynika to z tego, że aparat bazy danych Microsoft Jet nie kompiluje kwerendy przed jej wykonaniem ....

08.

24.02.2018

• Metoda CreateField. Utworzenie pola o określanej nazwy, typie danych i rozmiarze •

Metoda CreateField tworzy nowy obiekt Field, (tylko w obszarze roboczym Microsoft Jet).
Metodę CreateField można stosować do tworzenia nowego pola oraz do określania nazwy, typu danych i rozmiaru tego pola. Jeżeli w wywołaniu metody CreateField zostanie pominięty jeden lub więcej elementów nieobowiązkowych, to przed dołączeniem nowego obiektu do kolekcji można użyć stosownej instrukcji przypisania w celu ustawienia lub zmiany wartości odpowiedniej właściwości ....

09.

25.02.2018

• Metoda CreateIndex. Tworzenie indeksów dla pól w tabeli. •

Metoda CreateIndex tworzy nowy obiekt Index, (tylko w obszarze roboczym Microsoft Jet)
Obiekty Index określają kolejność pobierania rekordów z tabel bazy danych oraz określają, czy mogą powtarzać się takie same rekordy, zapewniając jednocześnie efektywny dostęp do danych

Indeksy stosowane są podczas sprzęgania tabel i tworzenia obiektów Recordset. Określają kolejność, w której obiekty Recordset typu tabela zwracają rekordy, ale nie określają kolejności, rekordów w tabelach bazowych, ani kolejności zwracanych rekordów przez inne typy obiektów Recordset ....

10.

26.02.2018

• Metoda CreateQueryDef. Tworzenie trwałej lub tymczasowej kwerendy •

Metoda CreateQueryDef tworzy nowy obiekt QueryDef, w określonym obiekcie Database lub Connection.
Trwały obiekt QueryDef można traktować jako skompilowaną instrukcję SQL, która działa szybciej niż równoważna jej instrukcje SQL wykonana za pomocą metody OpenRecordset, gdyż aparat Microsoft Jet nie kompiluje takiej kwerendy przed jej wykonaniem. Możliwe jest tworzenie tymczasowych obiektów QueryDef, które nie są zapisywane na dysk, ani nie są dołączane do kolekcji QueryDefs ....

DoCmd. Metody obiektu DoCmd.

01.

01.12.2017

• Obiekt DoCmd. Uruchamianie akcji za pomocą VBA •

DoCmd to wbudowany obiekt MS Access, zawierający metody, za pomocą których można wykonać akcje programu MS Access, za pomocą kodu języka Visual Basic. Język VBA udostępnia obiekt DoCmd, który realizuje wiele akcji makr. Obiekt ten w tle uruchamia akcje makra, aby zrealizować ten sam efekt, co makro odpowiadające metodzie obiektu DoCmd ....

02.

05.12.2017

• Metoda MoveSize - zmiana położenia i rozmiaru aktywnego okna. •

Metoda MoveSize umożliwia zmianę położenie i rozmiaru aktywnego okna. Wykonuje akcję RuchRozmiar (uruchamianą za pomocą makra) w języku Visual Basic. Działanie metody MoveSize jest podobne do działania powodowanego przez kliknięcie polecenia Przenieś albo Rozmiar w menu sterowania ....

03.

30.12.2017

• Metoda SelectObject. Wybranie określonego obiektu bazy danych •

Metoda SelectObject wykonuje akcję WybierzObiekt (SelectObject) w języku Visual Basic. Umożliwia wybranie określonego, otwartego obiektu obiektu bazy danych, lub wybranie obiektu w oknie nawigacji. Działa dla każdego obiektu programu Microsoft Access, który może przyjmować fokus. Metoda ta przenosi fokus do określonego obiektu i pokazuje obiekt, jeśli jest on ukryty ....

04.

31.12.2017

• Metoda Restore. Przywracanie pierwotnego rozmiaru okna. •

Metoda Restore służy do przywracania zmaksymalizowanego lub zminimalizowanego okna do jego poprzedniego rozmiaru. Wykonuje akcję Przywróć (Restore) w języku Visual Basic. Działa na zaznaczonym obiekcie. Jeśli obiekt został zminimalizowany, można go najpierw zaznaczyć za pomocą metody DoCmd.SelectObject a następnie przywrócić jego poprzedni rozmiar za pomocą metody DoCmd.Restore ....

Formularze

01.

01.12.2017

• O formularzu. Niektóre właściwości formularza. •

Formularz jest podstawowym obiektem bazy danych MS Access, pozwalającym prezentować zgromadzone w bazie danych informacje oraz usprawniającym pracę z danymi, umożliwiając edytowanie danych, dodawanie nowych oraz usuwanie istniejących danych, a także umożliwia sterowanie sposobem przetwarzania zawartych w bazie danych informacji .... Położenie i rozmiar formularza.
AutoCenter - wyśrodkowany formularz | AutoResize - pokaż całe rekordy | DividingLines - linie rozdzielające rekordy |
Akcja RuchRozmiar - położenie i rozmiar formularza |

02.

05.12.2017

• Zdarzenie Open i Close •

Zdarzenie Open występuje, gdy formularz zostaje otwarty, ale przed wyświetleniem pierwszego rekordu. Dla raportu zdarzenie to występuje przed podglądem wydruku, albo przed wydrukowaniem raportu. Zdarzenie Close występuje, gdy formularz albo raport jest zamykany i usuwany z ekranu. Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnOpen lub OnClose na nazwę makra lub na wartość [Event Procedure] ....

03.

07.12.2017

• Zdarzenie Load i Unload •

Zdarzenie Load występuje, gdy formularz (raport) zostaje po raz pierwszy otwarty i wypełniane są jego rekordy.
Zdarzenie to może być wykorzystane np. do przydzielania zasobów używanych w formularzu. Zdarzenie Unload występuje, gdy formularz (raport) jest zamykany, lecz przed jego usunięciem z ekranu. Gdy formularz (raport) zostaje ponownie załadowany, program Microsoft Access ponownie wyświetla go i ponownie inicjuje zawartość wszystkich jego formantów ....

04.

31.12.2017

• Niekonwencjonalne otwarcie formularza. Od lewej do prawej strony strony. •

Za pomocą pormularzy możemy prezentować i przetwarzać zgromadzone w bazie dane. Spróbujmy więc otwierać formularze w niekonwencjonalny sposób. Wizualny efekt procesu otwierania formularza możemy rozłożyć na wiele pojedynczych prezentacji formularza. Najpierw pokazujemy formularz o małym rozmiarze i za każdym razem zwiększamy jego rozmiar oraz jeżeli jest to konieczne również jego położenie .... Właściwości - rozmiar formularza.
WindowHeight (Width) - wysokość (szerokość) formularza w twipach | WindowLeft, (Top) - odległość od lewej i górnej krawędzi okna roboczego MS Access | Visible - pokazanie lub ukrycie formularza, raportu, sekcji i formantu |

05.

02.01.2018

• Dziewięć wizualnych sposobów otwarcia formularza. •

Wizualny efekt procesu otwierania formularza możemy rozłożyć na wiele pojedynczych prezentacji formularza. Najpierw pokazujemy formularz o małym rozmiarze i za każdym razem zwiększamy jego rozmiar oraz jeżeli jest to konieczne również jego położenie. W zależności od kierunku zwiększania rozmiaru formularza w trakcie jego otwierania możemy wyróżnić dziewięć wizualnych efektów otwierania formularza ....

Funkcje wbudowane MS Access

01.

12.11.2017

• Funkcja Dir. Lista plików lub folderów pasujacych do wzorca. •

Funkcja Dir zwraca wartość typu String reprezentującą nazwę pliku, katalogu lub folderu, która odpowiada określonemu wzorcowi, atrybutowi pliku albo etykiecie dysku. Funkcja Dir pozwala na stosowanie symboli wieloznacznych zastępujących wiele znaków (*) lub pojedynczy znak (?), umożliwiając w ten sposób wskazanie wielu plików.
Przy pierwszym wołaniu funkcji Dir należy określić argument nazwa_sciezkiki, w przeciwnym razie wystąpi błąd. Ponadto, nazwa_sciezkiki musi wystąpić, jeżeli podano atrybuty pliku ....

02.

14.11.2017

• Funkcja Shell. Asynchroniczne uruchomienie programu. Identyfikator PID •

Uruchamia program i w przypadku powodzenia zwraca wartość typu Variant podtyp Double reprezentującą identyfikator zadania (PID) odpowiadający uruchomionemu programowi, natomiast w przypadku niepowodzenia zwraca zero.
Funkcja Shell uruchamia programy w sposób asynchroniczny. Oznacza to, że program uruchomiony przez funkcję Shell może się nie zakończyć przed rozpoczęciem wykonywania instrukcji występujących po funkcji Shell ....

03.

28.12.2017

• DoEvents. Przekazuje sterowanie do systemu operacyjnego •

Funkcja DoEvents przekazuje sterowanie do systemu operacyjnego. Sterowanie jest zwracane po obsłudze przez system operacyjny wszystkich zdarzeń z systemowej kolejki oraz po wysłaniu z kolejki SendKeys wszystkich kluczy Funkcji DoEvents warto używać wtedy, gdy wykonywany program (lub jego fragmenty) zajmują dużo czasu procesora. Okresowe wywoływanie tej funkcji pozwoli systemowi operacyjnemu na obsługę bez zbytniego opóźnienia takich zdarzeń, jak naciśnięcia klawiszy czy kliknięcia myszą ....

04.

29.01.2018

• Replace. „Znajdź i Zastąp”. Zamiana w tekście ciągu znaków na inny ciąg znaków •

Bardzo często potrzebujemy w tekście zamienić średniki na przecinki, lub przecinki na średniki, usunąć znaki końca linii, podwójne czy też potrójne spacje zamienić na pojedynczą, zamienić polskie znaki diakrytyczne na ich odpowiedniki bez kropek, kresek i ogonków, bądź po prostu w tekście zrobiliśmy błąd ortograficzny który powieliliśmy w wielu miejscach i chcemy go poprawić. Zrobić to możemy za pomocą funkcji Replace, która wyszukuje w przekazanym ciąg znaków (tekście) określony znak (ciąg znaków) i zastępuje go nowym znakiem lub ciągiem znaków ....

05.

29.01.2018

• InStr. Wyszukiwanie w tekście określonego znaku lub ciągu znaków. •

Aby sprawdzić czy tekst zawiera nieprawidłowe znaki, bądź wyrazy, lub by policzyć ile razy znak, czy wyraz, występuje w naszym tekście, możemy użyć funkcji InStr, która wyszukuje w przekazanym tekście określony znak lub ciąg znaków i zwraca jego pozycję w przeszukiwanym tekście. Jeżeli szukany ciąg znaków nie występuje zwraca 0.
Wiedząc, że tekst zawiera szukaną frazę i znając jej pozycję i długość, możemy dokonać poprawek w tekście za pomocą wbudowanych funkcji Mid, Left, Right lub Replace ....

06.

08.02.2018

• Mid. Pobranie fragmentu tekstu ze zmiennej znakowej. •

Bardzo często mamy tekst, w którym musimy sprawdzić czy nie zawiera nieprawidłowych znaków, bądź wyrazów. Wiedząc, że tekst zawiera szukaną frazę powinniśmy wtedy zastosować funkcję tekstową Mid, za pomocą której możemy wyodrębnić określony ciąg znaków, lub kolejno wyodrębniać fragmenty tekstu, pomijać nie pasujące, dodawać nowe fragmenty i połączyć wszystkie fragmenty w nowy ciąg znaków za pomocą operatora konkatenacji & ....

Instrukcje w VBA

01.

30.11.2017

•  Instrukcja Open. Otwarcie pliku dla operacji odczytu i zapisu. •

Instrukcja VBA Open umożliwia wykonywanie operacji wejścia/wyjścia (odczytu i zapisu) na pliku.
Słowo kluczowe tryb (mode) określa sposób otwarcia pliku: Append, Binary, Input, Output lub Random. Jeżeli ten element nie jest określony, plik jest otwierany w trybie Random.
Słowo kluczowe dostęp (access) określa dozwolone operacje na otwartym pliku: Read, Write lub Read Write ....

02.

11.11.2017

• Instrukcja Declare. Deklarowanie funkcji API •

Instrukcja Declare wykorzystywana jest na poziomie modułu do deklarowania odwołań do procedur zewnętrznych zawartych w bibliotekach dołączanych dynamicznie (w pliku DLL).
W programie Microsoft Access można użyć instrukcji Declare na poziomie modułu w module standardowym, aby zadeklarować odwołanie do zewnętrznej procedury w bibliotece dołączanej dynamicznie (DLL). Domyślnie instrukcja Declare jest publiczna ....

03.

14.11.2017

• Instrukcja Type. Deklarowanie Typu użytkownika •

Typ użytkownika to złożony typ danych, mogący przechowywać wiele wartości w jednej zmiennej. Cechą odróżniającą typ użytkownika od tablic jest możliwość przechowywania wartości różnych typów. Zazwyczaj grupuje logicznie powiązane ze sobą dane różnego typu w jednym obszarze pamięci. Poszczególne elementy typu użytkownika mają swoje unikatowe nazwy i podanie nazwy, pozwala na uzyskanie dostępu do danego elementu ....

04.

24.01.2018

• Instrukcja Get. Odczytuje do zmiennej danych z otwartego pliku dyskowego •

Odczytuje określony rekord z pliku otwartych w trybie Random, lub ciąg bajtów z pliku binarnego począwszy od określonego bajtu i przypisuje go do zmiennej. Dla plików otwartych w trybie Binary zastosowanie klauzuli Len w instrukcji Open nie ma znaczenia. Instrukcja Get odczytuje wszystkie zmienne z dysku w sposób ciągły, czyli bez wypełniania przestrzeni między rekordami ....

Makro (akcja) MS Access

01.

10.12.2017

• Akcja RuchRozmiar (MoveSize) - zmiana położenia i rozmiaru aktywnego okna. •

Akcja RuchRozmiar (MoveSize) służy do przesuwania lub zmiany rozmiaru aktywnego okna.
Pobiera cztery argumenty: „W prawo”, „W dół”, „Szerokość”, „Wysokość”. Jeżeli argument pozostawimy pusty, to użyte zostaną bieżące ustawienia okna. Wymagane jest podanie przynajmniej jednego argumentu ....

Metody obiektów MS Access

01.

28.12.2017

• Metoda Repaint. Odświeżanie formantów formularza •

Czasami program Microsoft Access wstrzymuje odświeżanie ekranu do czasu zakończenia innych zadań. Za pomocą metody Repaint można wymusić natychmiastowe odświeżanie formantów określonego formularza. Metoda Repaint wykonuje wszystkie zaległe aktualizacje ekranu dla określonego formularza. Gdy metoda Repaint wykonywana jest na formularzu, wykonuje także wszystkie zaległe obliczenia formantów formularza ....

02.

29.12.2017

• Metoda Echo. Odświeżanie ekranu komputera •

Metoda Echo określa, czy program Microsoft Access ma odświeżyć ekran komputera. Wyłączenie odświeżania może być przydatne, jeśli zmiany wykonywane na ekranie nie muszą, lub nie powinny być widoczne dla użytkownika. Metoda Echo nie wyłącza wyświetlania modalnych okien dialogowych, takich jak komunikaty o błędach, ani formularzy podręcznych, takich jak arkusze właściwości ....

03.

15.02.2018

• CurrentDb. Odwołanie do aktualnie otwartej bazy danych w oknie MS Access. •

Do operowania strukturą i danymi bazy danych za pomocą języka Visual Basic konieczne jest użycie obiektów dostępu do danych (DAO). Metoda CurrentDb obiektu Applicationzwraca zmienną obiektową typu Database reprezentującą aktualnie otwartą bazę danych w oknie programu Microsoft Access. Po utworzeniu zmiennej wskazującej bieżącą bazę danych można uzyskać dostęp i manipulować innymi obiektami i kolekcjami w hierarchii DAO ....

Przetwarzanie plików

01.

17.11.2017

• Lista podfolderów w folderze roboczym. Funkcja Dir i komenda DIR •

Wbudowana funkcji Dir, zwraca wartość typu String reprezentującą nazwę pliku, katalogu lub folderu, która odpowiada określonemu wzorcowi, atrybutowi pliku albo etykiecie dysku. Funkcja Dir pozwala na stosowanie symboli wieloznacznych zastępujących wiele znaków (*) lub pojedynczy znak (?), umożliwiając w ten sposób wskazanie wielu plików ....
... Podstawowe informacje o komendzie Dir możemy uzyskać po uruchomieniu w oknie „Immediate” poniższej instrukcji:
?Shell(Environ$("COMSPEC") & " /k Dir/?") ....

02.

21.11.2017

• Lista podfolderów zwracanych przez FileSystemObject (FSO)

Skoro ani funkcja Dir ani komenda Dir nie daje sobie rady z pobraniem nazw podfolderów w folderze roboczym, spróbujemy uzyskać listę podfolderów w folderze roboczym wykorzystując usługę Windows Script Host (WSH) i jej obiekt FileSystemObject, który zapewnia dostęp do systemu plików komputera ....
... Rekurencyjna funkcja fileListSubFoldersFSO (...) wykorzystuje usługę Windows Script Host (WSH) i jej obiekt FileSystemObject w celu znalezione wszystkich podfolderów w folderze roboczym ....

03.

26.11.2017

• Lista podfolderów . Unikodowa funkcja API FindFirstFileW i FindNextFileW •

06.

05.01.2018

• Lista podfolderów w folderze.   Funkcja API FindFirstFileA i FindNextFileA •

Funkcja FindFirstFile wyszukuje pliki i foldery wyłącznie po nazwie pliku, lub wzorcu z użyciem symboli wieloznacznych "?" oraz "*". W wyszukiwaniu nie można określić żadnych atrybutów, takich jak data lub typ pliku. Wyszukiwanie obejmuje długie i krótkie nazwy plików.
 Jeżeli wywołanie funkcji FindFirstFile zakończy się sukcesem (zostanie znaleziony plik lub folder), to funkcja zwróci nam uchwyt wyszukiwania, a w strukturze WIN32_FIND_DATA informacje o znalezionym pliku lub folderze. Zwrócony uchwyt wyszukiwania możemy użyć w celu wyszukania kolejnego wyszukiwania za pomocą funkcji FindNextFile ....

04.

30.11.2017

• Operacje odczytu i zapisu pliku. Instrukcja Open. •

Instrukcja VBA Open umożliwia wykonywanie operacji wejścia/wyjścia (odczytu i zapisu) na pliku.
Słowo kluczowe Tryb (Mode) określa sposób otwarcia pliku: Append, Binary, Input, Output lub Random. Jeżeli ten element nie jest określony, plik jest otwierany w trybie Random.
Słowo kluczowe Dostep (Access) określa dozwolone operacje na otwartym pliku: Read, Write lub Read Write ....

05.

21.12.2017

• Lista plików w folderze. Unikodowa funkcja API FindFirstFileW i FindNextFileW. •

07.

07.01.2018

• Lista plików w folderze roboczym.   Funkcja API FindFirstFileA i FindNextFileA. •

Funkcja tworząca listę plików w folderze roboczym i podfolderach korzysta z funkcji plikListSubFoldersApiW(...) opisanej w Przykładzie nr 3 „Lista podfolderów w folderze roboczym”. Używa tych samych funkcji API FindFirstFileFindFirstFile w celu wyszukania plików o ściśle określonej nazwie, lub zgodnych z maską wyszukiwania utworzonej przy użyciu symboli wieloznacznych "?" oraz "*".
Gdy zostanie znaleziony plik pasujący do wzorca, możemy skorzystać ze zwracanej struktury WIN32_FIND_DATA, by pobrać więcej danych o znalezionym pliku. Element dwFileAttributes, zawiera dane o atrybutach pliku. element (ftCreationTime) zawiera dane dacie utworzenia pliku, datę modyfikacji zawiera element (ftLastWriteTime), a rozmiar pliku odczytać możemy z elementów (nFileSizeHighnFileSizeLow) ....

08.

12.01.2018

• Słów kilka o plikach. Pliki tekstowe i binarne •

Plik danych jest to uporządkowany zbiór danych (bitów, bajtów, rekordów itp.) o skończonej długości, posiadający szereg atrybutów i stanowiący dla użytkownika systemu operacyjnego całość. Możemy wyróżnić dwa podstawowe typy plików:
plik tekstowy zawierający dane w postaci alfanumerycznej oraz plik binarny zawierający po prostu ciąg bajtów, bez względu na rodzaj zapisanej w pliku informacji ....

09.

12.01.2018

• Poprawność argumentów otwarcia pliku do odczytu/zapisu •

Przed pobraniem zawartości pliku do zmiennej typu String bądź tablicy bajtów, lub zapisem danych do pliku powinniśmy wcześniej sprawdzić, czy operacja odczytu/zapisu jest możliwa. Wystąpić może kilka różnych przyczyn, które uniemożliwią nam odczytanie danych z pliku lub zapisanie danych do pliku ....

10.

15.01.2018

• Odczyt danych z pliku do zmiennej typu String •

Aby odczytać dane z pliku możemy pobrać jednorazowo jego całą zawartość lub fragment do zmiennej typu String.
Funkcja plikFileToString (...) otwiera plik w trybie „Do odczytu” i pobiera kreśloną ilość bajtów lBytes, począwszy od startowego bajtu lStart. Zwraca ilość pobranych bajtów, a w argumencie ByRef sRetString zwraca pobrane bajty ....

11.

15.01.2018

• Odczyt danych z pliku do tablicy typu Byte() •

Aby odczytać dane z pliku możemy pobrać jednorazowo jego całą zawartość lub fragment do zmiennej do tablicy Byte().
Funkcja plikFileToArray (...) otwiera plik w trybie „Do odczytu” i pobiera określoną ilość bajtów lBytes, począwszy od startowego bajtu lStart. Zwraca ilość pobranych bajtów, a w argumencie ByRef arrRetBytes() zwraca tablicę zawierającą pobrane bajty ....

Przetwarzanie tekstu

01.

01.12.2017

• Czy tekst jest w formacie Unicode. Funkcja tekstIsUnicode(...) •

Aby ustrzec się przed nieprawidłowym działaniem funkcji operujących na ciągach znaków w formacie Unicode, powinniśmy napisać funkcję sprawdzającą format tekstu, przed przekazaniem go do funkcji operujących na tekście w formacie Unicode. Windows API, w bibliotece "advapi32", zawiera funkcję IsTextUnicode(...) służącą do testowania tekstu roboczego ....

02.

22.01.2018

• Konwersja tekstu z formatu ASCII na format UTF8. •

UTF-8 to system kodowania Unicode, wykorzystujący od 1 do 6 bajtów do zakodowania pojedynczego znaku, jest w pełni kompatybilny z ASCII. Format ten, w porównaniu do standardu ISO 8859-2 zajmuje nieco więcej miejsca, ale daje o wiele większe możliwości prezentowania tekstu na stronach internetowych. Przykład prezentuje funkcję umożliwiająca konwersję tekstu z formatu Unicode (ASCII) na format UTF8 ....

03.

20.01.2018

• Konwersja tekstu z formatu UTF8 na format ASCII •

By skonwertować tekst z formatu UTF8 na ASCII skorzystamy z funkcji MultiByteToWideChar(...), której opis znajduje się na stronie MultiByteToWideChar Funkcja ta konwertuje tekst wejściowy ze strony kodowej ASCII, lub UTF8 na format Unicode (ciąg znaków UTF-16). Należy zauważyć, że konwertowany tekst wejściowy nie musi być zestawem znaków wielobajtowych ....

04.

03.02.2018

• Konwersja tekstu między różnymi stronami kodowymi (CodePage»»CodePage) •

Strona kodowa – zestaw znaków przypisanych poszczególnym kodom binarnym (kodom znaku). Różne strony kodowe przyjmują dla tego samego kodu odmienne znaki, a ponadto różnią się samymi zestawami znaków.
Funkcja tekstCodePageToCodePage(...) umożliwia konwersję tekstu pomiędzy różnymi stronami kodowymi, nie tylko jednobajtowymi zestawami ASCII ale również wielobajtowymi np. UTF8 ....

05.

08.02.2018

• Jak ułatwić sobie pracę z plikami HTML •

Jeżeli mamy kilkadziesiąt pojedynczych stron *.html i trzeba na wszystkich stronach dokonać zmian, to robienie tego „na piechotę” zajmie strasznie dużo czasu. Przewidując taki problem, powinniśmy wcześniej wyznaczyć strategiczne miejsca na stronie gdzie najczściej będziemy dokonywać hurtowych zmian i nadać niektórym znacznikom identyfikatory, bądź oznaczyć te obszary komentarzami o określonej, indywidualnej nazwie .... Funkcje przetwarzające tekst pliku *.html
Funkcja tekstExtractTextFromHtml(...) • Pobranie tekstu pomiędzy identyfikatorami (tagami, znacznikami) •
Funkcja tekstInsertTextInHtml(...)       • Zamiana tekstu pomiędzy identyfikatorami (tagami, znacznikami) •

06.

25.02.2018

• Access i funkcja USUŃ.ZBĘDNE.ODSTĘPY •

Jeżeli zdublowane spacje występują na początku i końcu roboczego ciągu, to  wbudowana funkcja Trim usuwająca spacje wiodące i końcowe, a jej odmiany LTrim usuwająca spacje wiodące oraz RTrim usuwajaca spacje końcowe
umożliwiają usunięcie nadmiarowych spacji.
VBA nie oferuje żadnej funkcji pozwalajacej na usunięcie powtórzonych spacji wewnątrz roboczego ciągu. Aplikacja Excel oferuje funkcję arkuszową USUŃ.ZBĘDNE.ODSTĘPY, niestety w MS Access funkcję taką musimy napisać sami ....

Właściwości obiektów MS Access

01.

28.12.2017

• Właściwość Visible. Ukrywanie, pokazywanie formularzy, raportów, sekcji, formantów •

Właściwości Visible (Widoczny) można użyć do wyświetlenia lub ukrycia formularza, raportu, sekcji formularza lub raportu albo formantu. Właściwości Visible można używać do ukrywania formantu na formularzu lub w raporcie ustawiając właściwość Visible za pomocą makra lub procedury zdarzenia ....
    Istnieje także właściwość Visible obiektu Application. Gdy obiekt Application jest tworzony za pomocą mechanizmu automatyzacji, właściwości VisibleUserControl tego obiektu są ustawiane na wartość False aplikacja jest zminimalizowana, ale nie jest ukryta przed użytkownikiem ....

VBA 7

01.

17.10.2017

•  Co wybrać ? Pakiet Microsoft Office 2010+ w wersji 32 bitowej, czy 64 bitowej •

Jeżeli zdecydujemy się na korzystanie z 64 bitowej wersji Microsoft Office, to musimy się liczyć z konsekwencjami migracji na nowy system, w którym nie będą prawidłowo funkcjonowały biblioteka formantów ActiveX ComCtl, formanty ActiveX, dodatki COM oraz biblioteki DLL w wersji 32 bitowej, skompilowane bazy danych programu Access w postaci plików MDE oraz ACCDE oraz Visual Basic for Applications zawierające instrukcję Declare funkcji API 32 bitowych ....

02.

21.10.2017

•  Edytor kodu VBA, okno Immediate, Option Explicit - jawne deklarowanie zmiennych •

Aby stosować jawną deklarację zmiennych w edytorze VBA, należy wybrać polecenie „Tools/Options”. W oknie „Options”, na zakładce „Editor” zaznaczmy pole wyboru Require Variable Declaration. Spowoduje to automatyczne wstawianie dyrektywy Option Explicit we wszystkich nowo tworzonych modułach VBA aplikacji Accessa i wymusi jawne deklarowanie zmiennych. We wcześniej utworzonych modułach, należy ręcznie wpisać w sekcji deklaracji modułu dyrektywę Option Explicit ....

03.

31.10.2017

•  Zmienne i ich typy. Zasady nadawania nazw zmiennym, procedurom, stałym ... •

Zmienna to fragment pamięci programu, który ma nazwę i jest przeznaczony do przechowywania danych. Zmienną można wykorzystać do przechowywania wyniku obliczeń, albo za jej pomocą udostępnić wartość zmiennej innej procedurze w celu dalszego przetwarzania. Do zmiennej (obszaru pamięci) odwołujemy się za pomocą nazwy zmiennej. Zmienną deklarujemy za pomocą instrukcji Dim ....

04.

04.11.2017

• Deklarowanie zmiennych. Instrukcje Option Explicit, Dim, Public, Private ... •

Instrukcje deklaracji służą do nadawania nazw i definiowania procedur, funkcji, zmiennych, tablic i stałych
Do deklarowania zmiennej zazwyczaj stosowana jest instrukcja Dim. Instrukcja deklaracji może być umieszczona wewnątrz procedury wówczas zostanie utworzona zmienna na poziomie procedury. Jeżeli natomiast deklaracja zostanie umieszczona na początku modułu, w sekcji deklaracji, utworzona będzie zmienna na poziomie modułu ....

05.

15.11.2017

• Zasięg i widzialność zmiennej •

Zasięg odnosi się do dostępności zmiennych, stałych lub procedur dla innej procedury. Występują trzy poziomy zasięgów: poziom procedury, prywatny poziom modułu, publiczny poziom modułu.
Zmienne i stałe na poziomie modułu można definiować w sekcji deklaracji modułu. Zmienne na poziomie modułu mogą być publiczne lub prywatne ....

06.

19.11.2017

• Cykl życia zmiennych •

Czas, w którym zmienna zachowuje swoją wartość, jest nazywany jej cyklem życia. Wartość zmiennej może zmienić się podczas jej cyklu życia, ale w dalszym ciągu zmienna przechowuje pewną wartość. Kiedy wykonanie programu opuszcza zakres zmiennej, traci ona swoją wartość. W chwili rozpoczęcia procedury wszystkie zmienne są inicjowane. Zmienna numeryczna jest inicjowana wartością zero, ciąg znaków zmiennej długości przyjmuje wartość ciągu długości zerowej ("") ....

Zdarzenia w MS Access

01.

05.12.2017

• Zdarzenie Open i Close •

Zdarzenie Open występuje, gdy formularz zostaje otwarty, ale przed wyświetleniem pierwszego rekordu. Dla raportu zdarzenie to występuje przed podglądem wydruku, albo przed wydrukowaniem raportu. Zdarzenie Close występuje, gdy formularz albo raport jest zamykany i usuwany z ekranu. Aby uruchomić makro lub procedurę zdarzenia, gdy wystąpią te zdarzenia, należy ustawić właściwość OnOpen lub OnClose na nazwę makra lub na wartość [Event Procedure] ....

02.

07.12.2017

• Zdarzenie Load i Unload •

Zdarzenie Load występuje, gdy formularz (raport) zostaje po raz pierwszy otwarty i wypełniane są jego rekordy.
Zdarzenie to może być wykorzystane np. do przydzielania zasobów używanych w formularzu. Zdarzenie Unload występuje, gdy formularz (raport) jest zamykany, lecz przed jego usunięciem z ekranu. Gdy formularz (raport) zostaje ponownie załadowany, program Microsoft Access ponownie wyświetla go i ponownie inicjuje zawartość wszystkich jego formantów ....