Sortera IP-adresser i Access

Obs!: Vi vill kunna erbjuda dig bästa möjliga supportinnehåll så fort som möjligt och på ditt språk. Den här sidan har översatts med hjälp av automatiserad översättning och kan innehålla grammatiska fel eller andra felaktigheter. Vår avsikt är att den här informationen ska vara användbar för dig. Vill du berätta för oss om informationen är till hjälp längst ned på sidan? Här är artikeln på engelska som referens.

Det här avsnittet beskrivs proceduren för att sortera Internet Protocol (IP-adresser) lagras i en Access-databas.

Introduktion

Om du arbetar med IP-adresser vet du antagligen redan att den inte är lika enkelt som att arbeta med text och tal. Detta beror på att en IP-adress verkligen är en samling med fyra numeriska värden avgränsade med en punkt (.), där varje värde är ett tal mellan 0 och 255. Följande tabell innehåller data innan ingen sorteringsordning används.

MachineID

Employee

Plats

IP-adress

1

...

...

123.4.245.23

2

...

...

104.244.253.29

3

...

...

1.198.3.93

4

...

...

32.183.93.40

5

...

...

104.30.244.2

6

...

...

104.244.4.1

Sortera IP-adresser i Access är en utmaning eftersom Access inte tillhandahåller en särskild datatyp för lagring av IP-adresser. Men en IP-adress är en samling med tal, kan du lagra en IP-adresser i ett numeriskt fält. Det är ett numeriskt fält har stöd för endast en enda decimal (.), en IP-adress innehåller tre punkter (.). Detta innebär att du måste spara adresserna i ett textfält.

Eftersom du lagrar IP-adresser i ett textfält kan du använda inbyggda sorteringsknapparna i Access för att sortera adresserna på ett meningsfullt sätt. Knapparna Sortera Sortera alltid värden i ett textfält i alfabetisk ordning, även om tecknen utgörs av tal. Med andra ord adresserna sorteras efter det första talet och sedan efter kolumnen andra siffra och så vidare, i stället för vid numeriskt med ett belopp som utgör adressen. I följande tabell visas adresser från föregående tabell sorteras i alfabetisk ordning på fältet IP-adress.

MachineID

IP-adress

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

4

32.183.93.40

De adresser som börjar med 1 visas innan de adresser som börjar med 2 och så vidare. I följande tabell visas adresserna i rätt stigande ordning.

MachineID

IP-adress

3

1.198.3.93

4

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 du vill göra det enklare att förstå anvisningarna för att sortera adresserna kan du ta bort IP-adresser i fyra numeriska delar. Adresserna måste sorteras efter den första delen sedan för varje värde i den första delen sedan efter den andra delen och så vidare. Tabellen visar varje del i en annan kolumn och eftersom kolumnerna parkera enkla numeriska värden, det blir möjligt att sortera kolumner från vänster till höger i stigande ordning, vilket visas i följande tabell.

PartI

PartII

PartIII

PartIV

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29 för företagsresurs

123

4

245

23

Sortera de fyra delarna separat är fina sortering IP-adresser. I följande procedur skapar du en fråga som innehåller fyra beräknade kolumner där varje kolumn lagrar en del av värden för adress förutom fältet IP-adress. Den första beräknade kolumnen håller den första numeriska delen av adressen, andra beräknade kolumnen innehåller andra numeriska delen av adress och så vidare. I stället för att sortera poster efter fältet IP-adress, kommer frågan sortera posterna efter fyra beräknade kolumner.

Skapa frågan

Du behöver skapa en urvalsfråga som heter sorterade IP-adresser som visar poster i stigande ordning med IP-adresser. Anta att den aktuella databasen har en tabell med namnet MachineDetails som innehåller ett textfält med namnet IP-adress.

  1. Klicka på Skapa > Frågedesign. Observera att om du använder Access 2007, klicka på Frågedesign på fliken Skapa i gruppen annat.

  2. I dialogrutan Visa tabell på fliken tabeller klickar du på MachineDetails och klicka sedan på Lägg till. Stäng dialogrutan.

  3. Dra fälten MachineID och IP-adress till frågerutnätet.

  4. Du är nu redo att lägga till beräknade kolumner. Skriv in uttrycket PartI i den första tomma kolumnen till höger: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) i raden fält. Uttrycket returnerar tecken före den första perioden (.) i fältet IP-adress.

    Nu kan granska uttrycket. Eftersom du inte vet hur många siffror som tillsammans bildar den första delen av adressen kan du använda den funktionen InStr att hitta positionen för den första perioden. Sedan subtraheras 1 (om du vill utesluta perioden) returnerar antalet siffror i den första delen. Sedan kan du använda det här numret med de vänster -funktionen för att extrahera så många tecken, med början från tecknet till vänster från fältet IP-adress. Slutligen kan du ringa det Val för att konvertera de tecken som returneras av funktionen vänster till ett tal. Det sista steget är nödvändigt eftersom den underliggande datatypen är Text.

  5. Spara frågan genom att klicka på Spara i Verktygsfältet Snabbåtkomst. Det är en bra idé att gör du så här efter varje mellanliggande steg.

  6. Lägga till kolumnen för den andra delen av adressen. Skriv i kolumnen till höger om PartI PartII: Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,Instr(Instr(1,[IPaddress],".") +1,[IPaddress],".") -Instr(1,[IPaddress],".") -1)) i raden fält. Uttrycket returnerar de tecken som är placerade mellan första och andra perioder i fältet IP-adress.

    Granska uttrycket. Eftersom du inte vet hur många siffror som tillsammans bildar den andra delen av adressen eller exakt där den andra delen startar (eftersom du inte hur länge den första delen är) kan använda du funktionen InStr för att hitta placeringarna av perioderna. Du använder den funktionen Mid extrahera de tecken som följer den första period men före den andra perioden. Slutligen kan ringa du funktionen Val om du vill konvertera de tecken som returneras av funktionen Mid till ett tal. Det sista steget är nödvändigt eftersom den underliggande datatypen är Text.

  7. Lägga till kolumnen för den tredje delen adress. Skriv i kolumnen till höger om PartII PartIII: Val(Mid([IPAddress],InStr(InStr(1,[IPAddress],".") +1,[IPaddress],".") +1,Instr(Instr(Instr(1,[IPaddress],".") +1,[IPaddress],".") +1,[IPaddress],".") -Instr(Instr(1,[IPaddress],".") +1,[IPaddress],".") -1)) i raden fält. Uttrycket returnerar de tecken som är placerade mellan de andra och tredje perioderna i fältet IP-adress.

    Granska uttrycket. Eftersom du inte vet hur många siffror som tillsammans bildar den tredje delen av adressen eller exakt där den tredje delen startar (eftersom du inte vet hur lång tid de första och andra delarna är) kan använda du funktionen InStr för att hitta placeringarna av perioderna. Du kan sedan använda funktionen Mid extrahera de tecken som följer den andra perioden men före den tredje perioden. Slutligen kan ringa du funktionen Val om du vill konvertera de tecken som returneras av funktionen Mid till ett tal. Det sista steget är nödvändigt eftersom den underliggande datatypen är Text.

  8. Lägga till kolumnen för fjärde och sista postadress del. Skriv i kolumnen till höger om PartIII PartIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[IPaddress],".") +1,[IPaddress],"."))) i raden fält. Uttrycket returnerar de tecken som följer den sista perioden.

    Granska uttrycket. Viktiga är att hitta platsen för den tredje perioden och extrahera alla tecken som följer den. Eftersom du inte vet exakt var tredje period finns kan ringa du funktionen InStr tre gånger för att hitta positionen för den tredje perioden. Du använder den funktionen längd för att beräkna antalet siffror i den fjärde delen. Antalet siffror som returneras som sedan används med den höger funktionen för att extrahera detta antal tecken från den högra delen av fältet IP-adress. Slutligen kan ringa du funktionen Val om du vill konvertera de tecken som returneras av funktionen Mid till ett tal. Det sista steget är nödvändigt eftersom den underliggande datatypen är Text.

  9. Ange alla fyra beräknade kolumner raden SorteraStigande.

    Viktigt    Sortera-raden i kolumnen IP-adress måste vara tomt.

    Om du vill sortera efter andra fältvärden förutom adresser, placera fälten antingen åt vänster eller höger om alla fyra beräknade kolumner. Placera inte andra sorteringsfält mellan de beräknade kolumnerna.

  10. Nästa steg är att dölja de fyra beräknade kolumnerna i databladet. Men innan du växla till datablad som visar om du vill se resultatet av uttryck i beräknade kolumner. Följande tabell visar kolumnerna som visas i databladsvyn.

    MachineID

    IP-adress

    PartI

    PartII

    PartIII

    PartIV

    3

    1.198.3.93

    1

    198

    3

    93

    4

    32.183.93.40

    32

    183

    93

    40

    5

    104.30.244.2

    104

    30

    244

    2

    6

    104.244.4.1

    104

    244

    4

    1

    2

    104.244.253.29

    104

    244

    253

    29 för företagsresurs

    1

    123.4.245.23

    123

    4

    245

    23

  11. Växla tillbaka till designvyn och avmarkera kryssrutan på raden Visa för alla fyra beräknade kolumner. Det här förhindrar att de beräknade kolumnerna visas i databladsvyn.

  12. Du kan också ange villkor för att utelämna poster i frågan.

  13. Växla till databladsvyn och kontrollera posterna i sorteringsordningen. De poster som ska sorteras i stigande ordning med IP-adresser för visas.

Fler användningsområden för sorterade IP-adresser

Validera IP-adresser under datainmatning

Om du vill bekräfta adresser utan att skriva kod kan du göra det till en begränsad omfattning genom att ställa in egenskapen Indatamask för fältet i #. ###. ###. ###; 0 ”; ” och egenskapen Format för fältet IP-adress till & & & & & & & & & & & &.

Vad är indatamasken? När du börjar skriva i adressfältet indatamasken förhindrar du att ange tecken än siffror och blanksteg mellan de tre perioderna. Om en numeriska delen är ett tvåsiffriga tal returneras lämnar det tredje talet tomt eller Skriv ett blanksteg i stället. Observera att den här indatamask inte varnar användaren om han hoppar över skriva en eller flera delar av adressen eller typer endast blanksteg i stället för ett numeriskt värde. Till exempel ”345.. 3 ”. skulle accepteras som en giltig adress.

Vad är visningsformatet? När du har skrivit klart och lämna fältet visningsformatet tar bort blanksteg i adressen och visas utan endast tal och perioder. Om du skrev ”354.35.2.12”, adressen visas som ”354.35.2.12”. Observera att om du klickar i adressen eller trycka på F2 (om du vill ange redigeringsläge) vald adressen blankstegen visas igen.

Tips: Om du vill kopiera en adress flytta till föregående kolumn eller kontroll, tryck på TABB att markera den formaterade adressen och klicka sedan på Kopiera. Genom att göra detta kommer du inte kopiera adress-sträng som innehåller blanksteg.

Sortera poster i ett formulär eller en rapport genom att IP-adresser

Basera det nya objektet på en fråga som sorterar adresser enligt tidigare beskrivning, i stället för på tabellen som innehåller adresserna om du behöver skapa ett formulär eller en rapport som posterna sorteras efter IP-adresser.

Överst på sidan

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×