Преминаване към основното съдържание
Office

Сортиране на записи по ред с различаване на малките и главните букви

Забележка: Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.

Microsoft Office Access 2007 сортира записи във възходящ или низходящ ред без отчитане на регистъра. Въпреки това като създавате няколко реда на Visual Basic for Applications (VBA) кодът, можете да сортирате текст стойностите си ASCII знаци. Сортиране въз основа на ASCII стойности се отличава с главни букви от малки букви, както и резултатите в малки и главни букви ред.

Таблицата по-долу показва как възходящ ред на сортиране в Access се различава от ред на сортиране на малки и главни букви:

Предварително ред на сортиране

Възходящ ред

Малки и главни букви Чарлз ОРД r

c

a

A

D

A

B

a

B

C

d

b

D

B

c

a

C

C

b

A

D

c

b

d

d

Въпреки че резултатите в колоната възходящ ред отначало може да изглежда малко непредсказуем, те не са. В колоната възходящ ред "" се появява преди "A" и "B" се появява преди "b". Това се случва, защото, когато се изчислява като текстови стойности, "A" = "" и "B" = "b", независимо дали малки или главни букви. Достъп до отчита първоначален ред на стойностите. В колоната ред на предварително сортиране "" предхожда "A" и "B" предхожда "b".

Когато малки и главни букви сортирането се извършва, текстовите стойности се заместват с техните ASCII стойности. Например, A = 65; = 97, B = 66, b = 98 и т.н.

Писане на VBA код

  1. Създаване на VBA модул и въведете следния ред в раздел за декларации, ако не вече е там:

Option Explicit

  1. Въведете следната процедура модул в редактора на Visual Basic:

    Function StrToHex (S As Variant) As Variant
    '
    ' Converts a string to a series of hexadecimal digits.
    ' For example, StrToHex(Chr(9) & "A~") returns 09417E.
    '
    Dim Temp As String, I As Integer
    If VarType(S) <> 8 Then
    StrToHex = S
    Else
    Temp = ""
    For I = 1 To Len(S)
    Temp = Temp & Format(Hex(Asc(Mid(S, I, 1))), "00")
    Next I
    StrToHex = Temp
    End If
    End Function

    Предходния дефинирани от потребителя функция, StrToHex, може да се нарича от заявка. Когато се прехвърлят името на поле за сортиране на тази функция, тя ще сортирате стойностите на полетата в ред на малки и главни букви.

  2. Сега създайте заявка, от която ще се включат в тази функция.

    В раздела Създаване, в групата Други щракнете върху Проектиране на заявки.

  3. В диалоговия прозорец Показване на таблица щракнете върху таблицата, която искате да сортирате, след което щракнете върху Добави.

  4. Плъзнете полетата, които искате към мрежата.

  5. В първата празна колона, в реда поле въведете Expr1: StrToHex()[SortField]).

    StrToHex е дефинирани от потребителя функция, която сте създали по-рано. SortField е името на полето, съдържащо стойностите по-малки и главни букви.

  6. В клетката, сортиране щракнете върху възходящо или Низходящо.

    Ако изберете възходящ ред, стойност, който започва с главни букви ще се появи пред тези, които започват с малки букви. Прилагане на низходящ ред на сортиране е обратното.

  7. Превключване към изглед на лист с данни.

    Access показва записите, сортирани в ред на малки и главни букви.

Най-горе на страницата

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×