A rekordok rendezése a kis- és a nagybetűket megkülönböztető sorrendbe

Fontos : Ez a cikk gépi fordítással lett lefordítva, lásd a jognyilatkozatot. A cikk angol változatát itt találhatja meg.

A Microsoft Office Access 2007 a kis- és a nagybetűk közötti különbséget figyelmen kívül hagyva rendezi a rekordokat növekvő vagy csökkenő sorrendbe. Néhány sornyi VBA-kód megírásával azonban az ASCII-karakterkódoknak megfelelő sorrendbe lehet állítani a szöveget. Az ASCII-kódokon alapuló rendezésben különböznek egymástól a kis- és a nagybetűk, így a sorrendben elkülönülnek egymástól a kis- és a nagybetűvel írt szavak.

A következő táblázatban az látható, hogy miben különbözik az Access által elvégzett növekvő rendezés eredménye a kis- és a nagybetűket megkülönböztetőtől:

Rendezés előtt

Növekvő sorrend

Kis-és nagybetűket előzményei 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 Növekvő sorrend feliratú oszlopban látszólag kiszámíthatatlan sorrendben állnak a betűk, de ez valójában nem így van. A Növekvő sorrend oszlopban az „a” az „A” előtt áll, a „B” pedig a „b” előtt. Ez azért van így, mert ha a program szövegként vizsgálja őket, akkor „A” = „a” és „B” = „b”, tehát nem számít a kis- és a nagybetűk közti különbség. Az Access ekkor az értékek eredeti sorrendjét veszi figyelembe. A Rendezés előtt oszlopban az „a” előbb áll, mint az „A”, a „B” pedig mint a „b”.

A kis- és a nagybetűket megkülönböztető rendezési művelet végrehajtása alkalmával a betűk helyére az ASCII-kódjuk kerül. Ennek megfelelően A = 65, a = 97, B = 66, b = 98 stb..

A VBA-kód megírása

  1. Hozzon létre egy VBA modult, és ha még nem látható a következő sor a deklarációs szakaszban, írja be:

Option Explicit

  1. Írja be a következő eljárást a Visual Basic Editor egy moduljába:

    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

    Az előző felhasználói függvényt, amelynek StrToHex a neve, meg lehet hívni lekérdezésből. Ha átadja a függvénynek a rendezési mező nevét, akkor a kis- és a nagybetűkre figyelő módon rendezi a mező értékeit.

  2. Most hozzon létre egy olyan lekérdezést, amely meghívja ezt a függvényt.

    A Létrehozás lap Egyebek csoportjában kattintson a Lekérdezéstervezés elemre.

  3. Kattintson a Tábla hozzáadása párbeszédpanelen arra a táblára, amelyet rendezni szeretne, majd kattintson a Hozzáadás gombra.

  4. Húzza rá a rácsra a kívánt mezőket.

  5. Az első üres oszlop mező sorában írja be a Kif1: StrToHex([SortField]).

    Az StrToHex a korábban létrehozott felhasználói függvény. A RendMező annak a mezőnek a neve, amelyben a kis- és nagybetűk szempontjából is rendezendő értékek találhatók.

  6. Jelölje ki a Rendezés cellában, hogy Növekvő vagy Csökkenő legyen a sorrend.

    Ha növekvő sorrendet választ, a nagybetűvel kezdődő értékek meg fogják előzni azokat, amelyek kisbetűvel kezdődnek. A csökkenő rendezés ennek ellenkezőjét eredményezi.

  7. Váltson át az Adatlap nézetre.

    Az Access a kis- és a nagybetűket megkülönböztető sorrendben jeleníti meg a rekordokat.

Vissza a lap tetejére

Megjegyzés : Gépi fordítás jognyilatkozata: Ez a cikk számítógép által, emberi közreműködés nélkül lett lefordítva. A Microsoft ezeket a gépi fordításokat azért nyújtja, hogy az angol nyelvet nem beszélők minél több tartalomhoz tudjanak hozzáférni a Microsoft termékeivel, szolgáltatásaival és technológiáival kapcsolatban. A gépi fordítás miatt előfordulhat, hogy a szöveg szóhasználati, szintaktikai vagy helyesírási hibákat tartalmaz.

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×