IP-adressen sorteren in Access

Opmerking: We willen u graag zo snel mogelijk de meest recente Help-inhoud in uw eigen taal bieden. Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor u is. Kunt u ons onder aan deze pagina laten weten of de informatie nuttig voor u was? Hier is het Engelstalige artikel ter referentie.

In dit onderwerp wordt de procedure beschreven voor het sorteren van IP-adressen (Internet Protocol) die zijn opgeslagen in een Access-data base.

Inleiding

Als u met IP-adressen werkt, weet u waarschijnlijk al dat het niet zo eenvoudig is als het werken met tekst of getallen. Dit komt doordat een IP-adres echt een verzameling van vier numerieke waarden is, gescheiden door een punt (.), waarbij elke waarde een getal is tussen 0 en 255. In de volgende tabel worden de gegevens weer gegeven voordat de sorteer volgorde wordt toegepast.

MachineID

Medewerker

Locatie

IPAdres

1

...

...

123.4.245.23

2

...

...

104.244.253.29

3,3

...

...

1.198.3.93

vierrichtings

...

...

32.183.93.40

5

...

...

104.30.244.2

6

...

...

104.244.4.1

Het sorteren van IP-adressen in Access is een uitdaging omdat Access geen speciaal gegevens type voor het opslaan van IP-adressen bevat. Hoewel een IP-adres slechts een verzameling getallen is, kunt u geen IP-adressen opslaan in een numeriek veld. Dit komt doordat een numeriek veld slechts één decimaal teken (.) ondersteunt, terwijl een IP-adres drie punten (.) bevat. Dit betekent dat u de adressen in een tekst veld moet opslaan.

Omdat u IP-adressen in een tekst veld opslaat, kunt u de ingebouwde Sorteer knoppen in Access niet gebruiken om de adressen op een zinvolle manier te sorteren. In de sorteer knoppen worden de waarden in een tekst veld altijd in alfabetische volg orde gesorteerd, zelfs als de tekens getallen zijn. Met andere woorden: de adressen worden gesorteerd op het eerste cijfer, vervolgens op het tweede cijfer, enzovoort, in plaats van de numerieke waarden die het adres vormen. In de volgende tabel ziet u de adressen uit de vorige tabel gesorteerd in alfabetische volg orde op het veld IPAddress.

MachineID

IPAdres

3,3

1.198.3.93

2

104.244.253.29

6

104.244.4.1

5

104.30.244.2

1

123.4.245.23

vierrichtings

32.183.93.40

De adressen die beginnen met 1, worden weer gegeven vóór de adressen die beginnen met 2, enzovoort. In de volgende tabel ziet u de adressen in de juiste oplopende volg orde.

MachineID

IPAdres

3,3

1.198.3.93

vierrichtings

32.183.93.40

5

104.30.244.2

6

104.244.4.1

2

104.244.253.29

1

123.4.245.23

Om het gemakkelijker te maken om de stappen te begrijpen die van toepassing zijn op het sorteren van deze adressen, kunt u de IP-adressen opsplitsen in vier numerieke onderdelen. De adressen moeten worden gesorteerd op het eerste onderdeel en vervolgens voor elke waarde in het eerste deel, vervolgens op het tweede gedeelte enzovoort. De tabel bevat elk deel van een andere kolom en, omdat de kolommen eenvoudige numerieke waarden bevatten, is het mogelijk om de kolommen van van rechts naar rechts in oplopende volg orde te sorteren, zoals wordt weer gegeven in de volgende tabel.

PartI

PartII

PartIII

PartIV

1

198

3,3

93

32

183

93

40

104

30

244

2

104

244

vierrichtings

1

104

244

253

31

123

vierrichtings

245

23

Als u de vier delen afzonderlijk sorteert, is dit de slag achter het sorteren van IP-adressen. In de onderstaande procedure maakt u een query die naast het IP-adres veld ook vier berekende kolommen bevat, waarbij elke kolom een deel van de adres waarden bevat. De eerste berekende kolom bevat het eerste numerieke gedeelte van het adres, de tweede berekende kolom bevat het tweede numerieke gedeelte van het adres, enzovoort. In plaats van de records te sorteren op het veld IPAddress, worden de records gesorteerd op basis van de vier berekende kolommen.

De query maken

U maakt een selectie query met de naam gesorteerde IP-adressen, waarmee de records in oplopende volg orde van IP-adressen worden weer gegeven. Stel dat de huidige Data Base een tabel bevat met de naam MachineDetails, die een tekst veld met de naam IPAddress bevat.

  1. Klik op maken > query ontwerp. Opmerking: als u Access 2007 gebruikt, klikt u op het tabblad maken in de groep Overige op query ontwerp.

  2. Klik in het dialoog venster tabel weer geven op het tabblad tabellen op MachineDetails en klik vervolgens op toevoegen. Sluit het dialoog venster.

  3. Sleep de velden MachineID en IPAdres naar het queryontwerpraster.

  4. U bent nu klaar om de berekende kolommen toe te voegen. Typ in de eerste lege kolom aan de rechter kant de expressie PartI: Val (Left ([IPAdres], (Instr (1, [ipaddress], ".") -1) ) in de rij veld. De expressie retourneert de tekens vóór de eerste punt (.) in het veld IPAddress.

    Lees nu de expressie. Omdat u niet weet hoeveel cijfers het eerste gedeelte van het adres vormen, gebruikt u de functie InStr om de positie van de eerste punt te bepalen. Als u 1 afTrekt (om de periode uit te sluiten), wordt het aantal cijfers in het eerste gedeelte als resultaat gegeven. Vervolgens gebruikt u dit nummer met de functie Left om het aantal tekens te extra heren vanaf het meest linkse teken, van het veld ipaddress. Ten slotte belt u de functie Val om de tekens die door de Left -functie worden geretourneerd, om te zetten in een getal. Deze laatste stap is nood zakelijk omdat het onderliggende gegevens type tekst is.

  5. Sla de query op door te klikken op Opslaan op de werk balk snelle toegang. Het is een goed idee om dit te doen na elke tussenliggende stap.

  6. Voeg de kolom voor het tweede adres onderdeel toe. Typ in de kolom rechts van PartI, PartII: Val (Mid ([ipaddress], InStr (1, [ipaddress], ".") + 1, InStr (Instr (1, [IPAddress], ".") + 1, [IPAddress], ".") -InSta (1, [IP-adres], ".") -1)) in de rij veld. De expressie retourneert de tekens tussen de eerste en de tweede periode in het veld IPAddress.

    Lees de expressie opnieuw. Omdat u niet weet hoeveel cijfers het tweede gedeelte van het adres vormen, of precies waar het tweede deel begint (omdat u niet weet hoe lang het eerste deel is), gebruikt u de functie InStr om de posities van de peri Oden te zoeken. Vervolgens gebruikt u de functie Mid om de tekens te extra heren die na de eerste periode vallen, maar vóór de tweede punt. Ten slotte belt u de functie Val om de tekens die door de functie Mid worden geretourneerd, om te zetten in een getal. Deze laatste stap is nood zakelijk omdat het onderliggende gegevens type tekst is.

  7. Voeg de kolom voor het derde adres onderdeel toe. Typ in de kolom rechts van PartII PartIII: Val (Mid ([ipaddress], InStr (Instr (1, [ipaddress], ".") + 1, [IPAddress], ".") + 1, InStr (Instr (Instr (1, [IPAddress], ".") + 1, [IPAddress], ".") + 1, [IPAddress], ".") -InSta (Instr (1, [IPAddress], ".") + 1, [IPAddress], ".") -1)) in de rij veld. De expressie retourneert de tekens tussen de tweede en derde periode in het veld IPAddress.

    Lees de expressie opnieuw. Omdat u niet weet hoeveel cijfers het derde deel van het adres vormen, of precies waar het derde deel begint (omdat u niet weet hoe lang het eerste en tweede gedeelte is), gebruikt u de functie InStr om de posities van de peri Oden te zoeken. Vervolgens gebruikt u de functie Mid om de tekens te extra heren die na de tweede punt vallen, maar vóór de derde periode. Ten slotte belt u de functie Val om de tekens die door de functie Mid worden geretourneerd, om te zetten in een getal. Deze laatste stap is nood zakelijk omdat het onderliggende gegevens type tekst is.

  8. Voeg de kolom voor het vierde en laatste adres gedeelte toe. Typ in de kolom rechts van PartIII PartIV: Val (right ([IPAdres], Len ([IP-adres])-Insta (Instr (1, [ipaddress], ".") + 1, [IPAddress], ".") + 1, [IPAddress], "."))) in de rij veld. De expressie retourneert de tekens die na de laatste periode vallen.

    Lees de expressie opnieuw. De sleutel is om de locatie van de derde periode te vinden en vervolgens alle tekens die hierop volgen, op te halen. Omdat u niet precies weet waar de derde periode zich bevindt, belt u de functie InStr drie keer om de positie van de derde periode te vinden. Vervolgens gebruikt u de functie Len om het aantal cijfers in het vierde deel te berekenen. Het aantal geretourneerde cijfers wordt vervolgens met de rechter functie gebruikt om die tekens uit het rechter gedeelte van het veld ipaddress op te halen. Ten slotte belt u de functie Val om de tekens die door de functie Mid worden geretourneerd, om te zetten in een getal. Deze laatste stap is nood zakelijk omdat het onderliggende gegevens type tekst is.

  9. Stel de rij sorteren van alle vier berekende kolommen in op Oplopend.

    Belang rijk    De rij sorteren van de kolom ipaddress moet leeg zijn.

    Als u naast de adressen ook op andere veld waarden wilt sorteren, plaatst u de velden aan de linker-of rechter kant van de vier berekende kolommen. Plaats de andere Sorteer velden niet tussen de berekende kolommen.

  10. De volgende stap is het verbergen van de vier berekende kolommen in het gegevens blad. Voordat u dat doet, gaat u naar de gegevens blad weergave om het resultaat van de expressies in de berekende kolommen te zien. In de volgende tabel ziet u de kolommen die u in de gegevens blad weergave zult zien.

    MachineID

    IPAdres

    PartI

    PartII

    PartIII

    PartIV

    3,3

    1.198.3.93

    1

    198

    3,3

    93

    vierrichtings

    32.183.93.40

    32

    183

    93

    40

    5

    104.30.244.2

    104

    30

    244

    2

    zesfasige

    104.244.4.1

    104

    244

    vierrichtings

    1

    2

    104.244.253.29

    104

    244

    253

    31

    1

    123.4.245.23

    123

    vierrichtings

    245

    23

  11. Ga terug naar de ontwerp weergave en schakel het selectie vakje uit in de rij weer geven van alle vier berekende kolommen. Hiermee voor komt u dat de berekende kolommen worden weer gegeven in de gegevens blad weergave.

  12. U kunt desgewenst criteria opgeven voor het uitsluiten van records in de query.

  13. Schakel over naar de gegevens blad weergave als u de records in de gesorteerde volg orde wilt weer geven. De records worden op de juiste manier gesorteerd in oplopende volg orde van de IP-adressen.

Meer mogelijkheden voor gesorteerde IP-adressen

IP-adressen valideren tijdens het invoeren van gegevens

Als u adressen wilt valideren zonder dat u code hoeft te schrijven, kunt u dit in een beperkte mate doen door de eigenschap invoer masker van het veld in te stellen op # # #. ## #. # # #. # # #; 0; " " en de eigenschap Format van het veld IP Address to & && & & & & & & & & & & &.

Wat gebeurt er met het invoer masker? Wanneer u begint te typen in het veld adres, voor komt het invoer masker dat u andere tekens invoert dan getallen en spaties tussen de drie Peri Oden. Als een numeriek deel een getal met twee cijfers is, laat u het derde cijfer leeg of typt u een spatie. Houd er rekening mee dat dit invoer masker de gebruiker niet heeft gewaarschuwd als er een of meer delen van het adres worden overgeslagen of als u alleen spaties typt in plaats van een numerieke waarde. Bijvoorbeeld: "345... 3. "wordt geaccepteerd als een geldig adres.

Wat gebeurt er met de weer gave-indeling? Wanneer u klaar bent met typen en het veld verlaat, verwijdert de weer gave-indeling de spaties in het adres en worden alleen de getallen en punten weer gegeven. Als u dus ' 354,35 .2 .12 ' hebt getypt, wordt het adres weer gegeven als ' 354.35.2.12 '. Houd er rekening mee dat als u in het adres klikt of op F2 drukt (om de bewerkings modus in te voeren) wanneer u het adres selecteert, de spaties opnieuw worden weer gegeven.

Tip: Als u een adres wilt kopiëren, gaat u naar de vorige kolom of het vorige besturings element, drukt u op TAB om het opgemaakte adres te selecteren en klikt u vervolgens op kopiëren. Als u dat doet, wordt de teken reeks die spaties bevat niet gekopieerd.

Records in een formulier of rapport sorteren op IP-adressen

Als u een formulier of rapport wilt maken waarin de records worden gesorteerd op IP-adressen, moet u het nieuwe object baseren op een query waarmee adressen worden gesorteerd zoals eerder is beschreven, in plaats van in de tabel waarin de adressen zijn opgeslagen.

Naar boven

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×