Mój Access 2010+

MS Access - bazy danych. Programowanie w VBA. 32- i 64-bitowe środowisko VBA 7.0
19 Piny0 Obserwujący
17 • Konwersja tekstu na zapis heksadecymalny.  Pobieramy kolejne znaki tekstu, odczytujemy jego kod ANSI i konwertujemy na postać heksadecymalną. Dla liczb mniejszych od 16 zapis musi być dwuznakowy (&H00=00 do &H0F=0F), by można było dokonać konwersji z zapisu heksadecymalnego na zapis dziesiętny. Posłużymy się funkcjami: #Asc(ciąg), #Hex(liczba), #StrConv(ciąg, conversion), Mid(ciąg, start[, długośc]), Right(ciąg, długośc) oraz instrukcją #Mid(tekst, początek[, długość]) = ciąg. Funkcja…

17 • Konwersja tekstu na zapis heksadecymalny. Pobieramy kolejne znaki tekstu, odczytujemy jego kod ANSI i konwertujemy na postać heksadecymalną. Dla liczb mniejszych od 16 zapis musi być dwuznakowy (&H00=00 do &H0F=0F), by można było dokonać konwersji z zapisu heksadecymalnego na zapis dziesiętny. Posłużymy się funkcjami: #Asc(ciąg), #Hex(liczba), #StrConv(ciąg, conversion), Mid(ciąg, start[, długośc]), Right(ciąg, długośc) oraz instrukcją #Mid(tekst, początek[, długość]) = ciąg. Funkcja…

16 • Test funkcji #HexToDec‬ Test konwersji liczby -2 147 483 648 (dolna granica typu Long)  w 64-bitowym środowisku #VBA7 za pomocą wyrażenia CLng("&H" & Hex$(-2147483648)), kończy się niepowodzeniem, bo MS #Access zgłasza ”Błąd nr 13. Type mismatch”. Funkcja Hex # zwraca ciąg FFFFFFFF80000000 odpowiadający typowi LongLong, którego funkcja CLng nie potrafi zinterpretować. Powinnismy użyć funkcji CLngLng, bądź jawnie przekonwertować liczbę -2147483648 na typ Long w wyrażeniu CLng("&H"…

16 • Test funkcji #HexToDec‬ Test konwersji liczby -2 147 483 648 (dolna granica typu Long) w 64-bitowym środowisku #VBA7 za pomocą wyrażenia CLng("&H" & Hex$(-2147483648)), kończy się niepowodzeniem, bo MS #Access zgłasza ”Błąd nr 13. Type mismatch”. Funkcja Hex # zwraca ciąg FFFFFFFF80000000 odpowiadający typowi LongLong, którego funkcja CLng nie potrafi zinterpretować. Powinnismy użyć funkcji CLngLng, bądź jawnie przekonwertować liczbę -2147483648 na typ Long w wyrażeniu CLng("&H"…

15 • Funkcja #HexToDec‬ Do konwersji  liczby  na postać heksadecymalną służy funk

15 • Funkcja #HexToDec‬ Do konwersji liczby na postać heksadecymalną służy funk

15 • Funkcja #HexToDec‬ Do konwersji  liczby  na postać heksadecymalną służy funk

15 • Funkcja #HexToDec‬ Do konwersji liczby na postać heksadecymalną służy funk

14 • Opcje startowe MS #Access  W bazie danych dla użytkownika końcowego ukrywa się okno bazy danych MS Access, za pomocą opcji startowych. Jednak użytkownik może wybrać polecenie Menu/Plik/Opcje i zmienić ustawienia. Także wciśnięcie klawisza Shift podczas startu bazy powoduje pominięcie opcji startowych. Okno bazy można odsłonić za pomocą klawisza F11. Prawie wszystkie opcje programu MS Access można zmienić za pomocą kodu #VBA ( #VBA7 ) wykorzystując kolekcję #Properties obiektu…

14 • Opcje startowe MS #Access W bazie danych dla użytkownika końcowego ukrywa się okno bazy danych MS Access, za pomocą opcji startowych. Jednak użytkownik może wybrać polecenie Menu/Plik/Opcje i zmienić ustawienia. Także wciśnięcie klawisza Shift podczas startu bazy powoduje pominięcie opcji startowych. Okno bazy można odsłonić za pomocą klawisza F11. Prawie wszystkie opcje programu MS Access można zmienić za pomocą kodu #VBA ( #VBA7 ) wykorzystując kolekcję #Properties obiektu…

Zbiór darmowych ikon.  Licencja wymaga jedynie linku w okienku dialogowym "About" programu.

Zbiór darmowych ikon. Licencja wymaga jedynie linku w okienku dialogowym "About" programu.

13 • Funkcje #API – właściwość Err.LastDllError  Właściwość Err. #LastDllError powinna być sprawdzana po każdym niepowodzeniu wywoływanej funkcji biblioteki #DLL. Aby przekonwertować „suchy numer” błędu zwracany przez właściwość Err.LastDllError na opisowy komunikat tekstowy o przyczynie błędu, wykorzystamy funkcję API • #FormatMessage(...), która formatuje tekst komunikatu związanego z kodem błędu, zapisuje go do bufora wyjściowego i zwraca ilość znaków w buforze (bez znaku vbNullChar).

13 • Funkcje #API – właściwość Err.LastDllError Właściwość Err. #LastDllError powinna być sprawdzana po każdym niepowodzeniu wywoływanej funkcji biblioteki #DLL. Aby przekonwertować „suchy numer” błędu zwracany przez właściwość Err.LastDllError na opisowy komunikat tekstowy o przyczynie błędu, wykorzystamy funkcję API • #FormatMessage(...), która formatuje tekst komunikatu związanego z kodem błędu, zapisuje go do bufora wyjściowego i zwraca ilość znaków w buforze (bez znaku vbNullChar).

12. • Funkcje API - Mutex; jedna instancja bazy MS Access  Aby uniemożliwić użytkownikowi otwarcie drugiej instancji bazy MS Access możemy wykorzystać mechanizmy służące do synchronizacji procesów, czyli algorytmy wzajemnego wykluczania (w skrócie mutex, z ang. mutual exclusion). Aby stworzyć mutex należy wywołać funkcję CreateMutex(...), która tworzy go, a funkcja GetLastError zwraca wartość ERROR_SUCCESS=0. Jeśli mutex już istnieje, funkcja GetLastError zwraca wartość ERROR_ALREADY_EXISTS…

12. • Funkcje API - Mutex; jedna instancja bazy MS Access Aby uniemożliwić użytkownikowi otwarcie drugiej instancji bazy MS Access możemy wykorzystać mechanizmy służące do synchronizacji procesów, czyli algorytmy wzajemnego wykluczania (w skrócie mutex, z ang. mutual exclusion). Aby stworzyć mutex należy wywołać funkcję CreateMutex(...), która tworzy go, a funkcja GetLastError zwraca wartość ERROR_SUCCESS=0. Jeśli mutex już istnieje, funkcja GetLastError zwraca wartość ERROR_ALREADY_EXISTS…

11. • Funkcje #API - Jedna #instancja bazy MS #Access  Czasami projekt bazy danych wymaga, by użytkownik nie mógł otworzyć drugiej instancji bieżącej bazy danych. Zabezpieczenie takie  możemy zrealizować za pomocą opcji startowych MS Access tj. makra #Autoexec, automatycznie uruchamianego podczas startu bazy,  lub formularza startowego (właściwość #StartupForm). Obie te opcje startowe można pominąć, trzymając wciśnięty klawisz „Shift”  otwierając bazę. Korzystając z właściwości…

11. • Funkcje #API - Jedna #instancja bazy MS #Access Czasami projekt bazy danych wymaga, by użytkownik nie mógł otworzyć drugiej instancji bieżącej bazy danych. Zabezpieczenie takie możemy zrealizować za pomocą opcji startowych MS Access tj. makra #Autoexec, automatycznie uruchamianego podczas startu bazy, lub formularza startowego (właściwość #StartupForm). Obie te opcje startowe można pominąć, trzymając wciśnięty klawisz „Shift” otwierając bazę. Korzystając z właściwości…

10. • Funkcje #API - tytuły okien otwartych instancji MS #Access Informacja typu: „Otwarto 2 instancje MS Access” jest niewystarczająca.  Więcej informacji znajduje się na pasku tytułowym okna MS Access. Uchwyt okna głównego MS Access można pobrać za pomocą funkcji API #FindWindowEx - zwracającą uchwyt okna potomnego, którego nazwa klasy, albo (i) tytuł odpowiada przekazanym argumentom. Tytuł okna odczytamy za pomocą własnej funkcji #GetTextWindow zwracającą tekst (tytuł) okna uchwycie #hwnd…

10. • Funkcje #API - tytuły okien otwartych instancji MS #Access Informacja typu: „Otwarto 2 instancje MS Access” jest niewystarczająca. Więcej informacji znajduje się na pasku tytułowym okna MS Access. Uchwyt okna głównego MS Access można pobrać za pomocą funkcji API #FindWindowEx - zwracającą uchwyt okna potomnego, którego nazwa klasy, albo (i) tytuł odpowiada przekazanym argumentom. Tytuł okna odczytamy za pomocą własnej funkcji #GetTextWindow zwracającą tekst (tytuł) okna uchwycie #hwnd…

Pinterest
Szukaj