Access

  MS Access 2010+  |  Wbudowane funkcje MS Access  |   VBA 7.0



 

• Funkcja 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ę możemy dokonać poprawek w tekście za pomocą wbudowanej funkcji  Replace. Jednak nie wszytko da się załatwić za pomocą funkcji Replace. Wtedy możemy 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 &.
Aby wyodrębnić określony ciąg znaków musimy za pomocą funkcji InStr określić pozycję wystąpienia poszukiwanego ciągu znaków.

Składnia funkcji Mid.

Funkcja Mid zwraca wartość typu Variant podtyp String zawierającą podaną liczbę znaków length z wejściowego ciągu znaków string począwszy od znaku określonego w argumencie start.

Mid(string As String, start As Long[, length])

Funkcji Mid ma następujące nazwane argumenty:

  Argument   Opis
string Argument obowiązkowy. Jest to wyrażenie znakowe, z którego zwracane są znaki. Jeżeli argument string zawiera wartość Null, zwracana jest wartość Null.
start Argument obowiązkowy typu Long. Określa początkową pozycję znaków pobieranych z string. Jeżeli wartość argumentu start jest większa niż liczba znaków jaką zawiera argument string, funkcja Mid zwraca ciąg znaków o długości zerowej ("").
length Argument nieobowiązkowy typu Variant podtyp Long. Określa liczbę zwracanych znaków. Jeżeli argument ten zostanie pominięty, lub jeżeli argument string zawiera mniej znaków niż ilość określona przez argument length (łącznie ze znakiem określonym przez argument start), zwracane są wszystkie znaki począwszy od znaku  start aż do końca ciągu.

Uwaga. Aby określić liczbę znaków jaką zawiera argument start, należy stosować funkcję Len ⇒ToDo⇐.

Do danych bajtowych zawartych w ciągu znaków należy używać funkcji MidB. W takim przypadku argumenty określają liczbę bajtów, a nie liczbę znaków

Funkcja Mid$.

Mid$(string As String, start As Long[, length]) As String

Funkcja Mid$ zwraca wartość typu String zawierającą podaną liczbę znaków length z wejściowego ciągu znaków string począwszy od znaku określonego w argumencie start.

Funkcja Mid, a funkcja Mid$.

Funkcja Mid zwraca wartość typu Variant podtyp String, a funkcja Mid$ zwraca dane typu As String, przez co funkcja Mid$ jest wydajniejsza (szybsza), gdyż operowanie na zmiennych typu Variant zajmuje więcej pamięci i jest wolniejsze. Najczęściej i  tak na zwróconej zmiennej typu Variant zostanie później wymuszona konwersja na typ String np. po przypisaniu zwracanej wartości do zmiennej typu String.

Różnice w szybkości są zauważalne, gdy wielokrotnie (w pętlach) operujemy na długich ciągach znaków. Pomimo niezauważlnych różnic w szybkości dla jednorazowych operacji i krótkich ciągów znaków, ja używam funkcji Mid$.

Instrukcja Mid.

Istnieje także instrukcja Mid, która zastępuje podaną liczbę znaków w zmiennej typu Variant podtyp String, znakami z innego ciągu znaków. Ale o tej instrukcji kiedy indziej. ⇒ToDo⇐

Słownik użytych terminów.



• nazwany argument
Argument o nazwie wstępnie zdefiniowanej w bibliotece obiektowej. Zamiast podawania wartości argumentów w porządku ustalonym przez składnię, można użyć nazwanych argumentów, aby móc przypisać wartości w dowolnym porządku. Na przykład, załóżmy że dana jest metoda przyjmująca trzy argumenty:
JakasFunkcja nazwany_arg1, nazwany_arg2, nazwany_arg3
Do przypisania wartości do nazwanych argumentów można użyć następującej instrukcji:
JakasFunkcja nazwany_arg3 := 4, nazwany_arg2 := 5, nazwany_arg1 := 20
Zauważmy, że nazwane argumenty nie muszą występować w kolejności wynikającej ze składni metody.
• Wyrażenie znakowe
Dowolne wyrażenie o wartości stanowiącej sekwencję następujących po sobie znaków. Do elementów wyrażenia znakowego może należeć funkcja zwracająca ciąg znaków, literał znakowy, stała znakowa, zmienna znakowa, ciąg znaków typu Variant lub funkcja zwracająca ciąg znaków typu Variant  (VarType = 8 (vbString).
• Null
Wartość wskazująca, że dana zmienna nie zawiera żadnych poprawnych danych. Wartość ta jest wynikiem jawnego przypisania wartości Null do danej zmiennej lub wynikiem dowolnej operacji przeprowadzonej pomiędzy wyrażeniami zawierającymi wartość Null.
• typ danych Long
Typ danych służący do przechowywania liczb całkowitych na 4 bajtach, o zakresie wartości od -2 147 483 648 do 2 147 483 647. W języku Visual Basic znakiem deklaracji typu odpowiadającym typowi Long jest ampersand (&).
• argument
Stała, zmienna lub wyrażenie przekazywane do procedury.
• instrukcja
Kompletna składniowo jednostka wyrażająca pojedynczą deklarację, definicję bądź akcję. Na ogół instrukcja zajmuje jeden wiersz, można jednak umieścić w jednym wierszu kilka instrukcji, używając dwukropka (:). Można także użyć znaku kontynuacji wiersza (_), aby wiersz logiczny był kontynuowany w kolejnym wierszu fizycznym.