Sortere IP-adresser i Access

Obs!: Vi ønsker å gi deg det nyeste hjelpeinnholdet så raskt som mulig, på ditt eget språk. Denne siden er oversatt gjennom automatisering og kan inneholde grammatiske feil eller unøyaktigheter. Formålet vårt er at innholdet skal være nyttig for deg. Kan du fortelle oss om informasjonen var nyttig for deg nederst på denne siden? Her er den engelske artikkelen for enkel referanse.

Dette emnet beskriver Fremgangs måten for sortering av IP-adresser (Internet Protocol) som er lagret i en _Z0Z_ -database.

Innføring

Hvis du arbeider med IP-adresser, vet du sannsynligvis at det ikke er like enkelt som å arbeide med tekst eller tall. Dette er fordi en IP-adresse er en samling av fire numeriske verdier som er atskilt med et punktum (.), der hver verdi er et tall mellom 0 og 255. Tabellen nedenfor viser data før eventuelle sorterings rekkefølger brukes.

MachineID

Med

Plassering

Multikasting

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

Sortering av IP-adresser i Access er en utfordring fordi Access ikke har en spesiell datatype for lagring av IP-adresser. Selv om en IP-adresse bare er en samling tall, kan du ikke lagre IP-adresser i et numerisk felt. Dette er fordi et numerisk felt bare støtter ett desimal punkt (.), mens en IP-adresse inneholder tre punktum (.). Dette betyr at du må lagre adressene i et tekst felt.

Siden du lagrer IP-adresser i et tekst felt, kan du ikke bruke de innebygde sorterings knappene i Access til å sortere adressene på en meningsfull måte. Sorterings knappene sorterer alltid verdier i et tekst felt i alfabetisk rekkefølge, selv om tegnene er tall. Med andre ord sorteres adressene etter det første sifferet, deretter etter det andre tallet og så videre, i stedet for av de numeriske verdiene som utgjør adressen. Tabellen nedenfor viser adressene fra den forrige tabellen sortert i alfabetisk rekkefølge på IPAddress-feltet.

MachineID

Multikasting

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

Adressene som begynner med 1, vises før adressene som starter med 2 og så videre. Tabellen nedenfor viser adressene i riktig stigende rekkefølge.

MachineID

Multikasting

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

Hvis du vil gjøre det enklere å forstå trinnene som er involvert i å sortere disse adressene, bryter du IP-adressene til fire numeriske deler. Adressene må sorteres etter den første delen, og deretter etter hver verdi i den første delen, deretter etter den andre delen og så videre. Tabellen viser hver del i en annen kolonne, fordi Kol onnene inneholder enkle numeriske verdier, blir det mulig å sortere Kol onnene fra venstre til høyre i stigende rekkefølge, som vist i tabellen nedenfor.

PartI

PartII

PartIII

PartIV

1

198

3

93

32

183

93

40

104

innen

244

2

104

244

4

1

104

244

253

29

123

4

245

kl

Å sortere de fire delene separat er trikset bak sortering av IP-adresser. I Fremgangs måten nedenfor oppretter du en spørring som inneholder fire beregnede kolonner i tillegg til feltet IP-adresse, der hver kolonne inneholder en del av adresse verdiene. Den første beregnede kolonnen vil inneholde den første numeriske delen av adressen, den andre beregnede kolonnen vil inneholde den andre numeriske delen av adressen og så videre. I stedet for å sortere postene etter IPAddress-feltet, vil spørringen sortere postene etter de fire beregnede Kol onnene.

Opprette spørringen

Du oppretter en utvalgs spørring med navnet sortert IPAddresses som viser postene i stigende rekkefølge med IP-adresser. Anta at den gjeldende databasen har en tabell som heter MachineDetails, som inneholder et tekst felt kalt IP-IPAddress.

  1. Klikk Opprettspørrings utformingfor >. 

  2. Klikk MachineDetails i kategorien tabeller i dialog boksen Vis tabell , og klikk deretter Legg til. Lukk dialogboksen.

  3. Dra MachineID-og IP-feltene til spørrings utformings rute nettet.

  4. Du er nå klar til å legge til de beregnede Kol onnene. I den første tomme kolonnen til høyre skriver du inn Expression -PartI: Val (Left ([IPAddress], (InStr (1; [IPAddress], ".") -1)) i felt -raden. Uttrykket returnerer tegnene foran den første perioden (.) i IPAddress-feltet.

    Nå kan du se gjennom uttrykket. Fordi du ikke vet hvor mange sifre den første delen av adressen er, bruker du InStr -funksjonen til å finne posisjonen til den første perioden. Hvis du trekker fra 1 (for å utelate perioden), returnerer antall sifre i den første delen. Deretter bruker du dette tallet med venstre -funksjonen til å trekke ut de mange tegnene, som starter fra tegnet lengst til venstre, fra feltet IPAddress. Til slutt ringer du Val -funksjonen for å konvertere tegnene som returneres av venstre -funksjonen, til et tall. Dette siste trinnet er nødvendig fordi den underliggende data typen er tekst.

  5. Lagre spørringen ved å klikke Lagreverktøy linjen for hurtig tilgang. Det er lurt å gjøre dette etter hvert trinn som er middels.

  6. Legg til kolonnen for den andre adresse delen. I kolonnen til høyre for PartI, skriver du inn PartII: Val (Mid ([IPAddress]; InStr (1; [IP-]; ".") + 1; InStr (InStr (1; [IP-IPAddress]; ".") + 1, [IPAddress], ".") -InStr (1; [IP-kode], ".") -1)) i felt -raden. Uttrykket returnerer tegnene som er plassert mellom den første og andre perioden i IPAddress-feltet.

    Se gjennom uttrykket på nytt. Fordi du ikke vet hvor mange sifre den andre delen av adressen eller nøyaktig hvor den andre delen starter (fordi du ikke har hvor lenge den første delen er), bruker du InStr -funksjonen til å finne posisjonene til periodene. Deretter bruker du Mid -funksjonen til å trekke ut tegnene som kommer etter det første punktumet, men før den andre perioden. Til slutt ringer du Val -funksjonen for å konvertere tegnene som returneres av Mid -funksjonen, til et tall. Dette siste trinnet er nødvendig fordi den underliggende data typen er tekst.

  7. Legg til kolonnen for den tredje adresse delen. I kolonnen til høyre for PartII, skriver du inn PartIII: Val (Mid ([IPAddress]; InStr (InStr (1; [IP-IPAddress];...) + 1, [IPAddress], ".") + 1; InStr (InStr (InStr (1; [IP-]; ".") + 1, [IPAddress], ".") + 1, [IPAddress], ".") -InStr (InStr (1; [IP-kode]; ".") + 1, [IPAddress], ".") -1)) i felt -raden. Uttrykket returnerer tegnene som befinner seg mellom andre og tredje punktum i IPAddress-feltet.

    Se gjennom uttrykket på nytt. Fordi du ikke vet hvor mange sifre som utgjør den tredje delen av adressen eller nøyaktig hvor den tredje delen starter (fordi du ikke vet hvor lenge den første og andre delen er), bruker du InStr -funksjonen til å finne posisjonene til periodene. Deretter bruker du Mid -funksjonen til å trekke ut tegnene som kommer etter det andre punktumet, men før den tredje perioden. Til slutt ringer du Val -funksjonen for å konvertere tegnene som returneres av Mid -funksjonen, til et tall. Dette siste trinnet er nødvendig fordi den underliggende data typen er tekst.

  8. Legg til kolonnen for den fjerde og siste adresse delen. I kolonnen til høyre for PartIII, skriver du inn PartIV: Val (Right ([IP-IPAddress]; lengde ([IP-kode])-InStr (InStr (InStr (1; [IP-kode]; ".") + 1, [IPAddress], ".") + 1; [IP-IPAddress], ".") )) i felt -raden. Uttrykket returnerer tegnene som kommer etter den siste perioden.

    Se gjennom uttrykket på nytt. Nøkkelen er å finne plasseringen til det tredje punktumet og deretter trekke ut alle tegnene som følger den. Fordi du ikke vet nøyaktig hvor den tredje perioden er plassert, kan du ringe InStr -funksjonen tre ganger for å finne plasseringen til den tredje perioden. Deretter bruker du lengde -funksjonen til å beregne antall sifre i den fjerde delen. Antall sifre som returneres, brukes deretter sammen med høyre -funksjonen til å trekke ut de mange tegnene fra den høyre delen av IPAddress-feltet. Til slutt ringer du Val -funksjonen for å konvertere tegnene som returneres av Mid -funksjonen, til et tall. Dette siste trinnet er nødvendig fordi den underliggende data typen er tekst.

  9. Angi Sorter -raden for alle fire beregnede Kol Onnene til stigende.

    Viktig    Sorter -raden i IPAddress-kolonnen må være tom.

    Hvis du vil sortere etter andre felt verdier, plasserer du feltene enten til venstre eller høyre for alle fire beregnede Kol onnenei tillegg til adressene. Ikke plasser andre sorterings felt mellom de beregnede Kol onnene.

  10. Neste trinn er å skjule de fire beregnede Kol onnene fra data arket. Før du gjør dette må du bytte til data ark visning for å se resultatet av uttrykkene i de beregnede Kol onnene. Tabellen nedenfor viser Kol onnene du vil se i data ark visning.

    MachineID

    Multikasting

    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

    innen

    244

    2

    6

    104.244.4.1

    104

    244

    4

    1

    2

    104.244.253.29

    104

    244

    253

    29

    1

    123.4.245.23

    123

    4

    245

    kl

  11. Gå tilbake til utFormings visning, og fjern merket i avmerkings boksen i Vis -raden i alle fire beregnede kolonner. Dette hindrer at de beregnede Kol onnene vises i data ark visning.

  12. Du kan også angi vilkår for å utelate poster fra spørringen.

  13. Bytt til data ark visning for å se postene i sortert rekkefølge. Du vil se postene riktig sortert i stigende rekkefølge av IP-adressene.

Flere bruks områder for sorterte IP-adresser

Valider IP-adresser under data registrering

Hvis du vil validere adresser uten å skrive kode, kan du gjøre det til en begrenset grad ved å angi egenskapen Input Mask for feltet til # # #.# # #. # # #. # # #; 0; " " og egenskapen Format for feltet IP-adresse til &&&&&&&&&&&&.

Hva gjør inn data masken? Når du begynner å skrive i adresse-feltet, hindrer inn data masken deg i å skrive inn andre tegn enn tall og mellomrom mellom de tre periodene. Hvis en numerisk del er et tosifret tall, må du la det tredje sifferet stå tomt eller skrive inn et mellomrom i stedet. Vær oppmerksom på at denne inn data masken ikke advarer brukeren hvis han hopper over innskriving av én eller flere deler av adressen, eller skriver bare mellomrom i stedet for en numerisk verdi. For eksempel "345. 3. "godtas som en gyldig adresse.

Hva gjør visnings formatet? Når du er ferdig med å skrive inn og beholde feltet, fjerner visnings formatet mellomrommet i adressen og viser bare tallene og periodene. Hvis du skrev inn «354,35 .2 .12», vises adressen som "354.35.2.12". Vær oppmerksom på at hvis du klikker i adressen eller trykker F2 (for å gå til redigerings modus) når adressen er valgt, vil mellomrommene vises igjen.

Tips!: Hvis du vil kopiere en adresse, flytter du til forrige kolonne eller kontroll, trykker TAB for å velge den formaterte adressen, og deretter klikker du Kopier. Du kan ikke kopiere adresse strengen som inneholder mellomrom, ved å gjøre dette.

Sortere poster i et skjema eller en rapport etter IP-adresser

Hvis du har behov for å opprette et skjema eller en rapport der postene er sortert etter IP-adresser, baserer du det nye objektet på en spørring som sorterer adresser som tidligere beskrevet, i stedet for på tabellen som lagrer adressene.

Til toppen av siden

Bli bedre på Office
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×