Gå til innhold

Trenger liste med Norges postnummer, poststeder


Anbefalte innlegg

Trenger en liste med alle norges postnummer og stedene de tilhører. Skal ha heldagsprøve i vb i morra.P

 

Skal bruke de til et program der mans kal registrer kunder. Istedefor å skrive inn begge deler tenkte jeg at man kan skrive inn post nummer og så blir stedsnavnet funnet i en liste og skrevet ut.

 

Hadde vært fint hvis noen hadde en liste og kanksje en kodensutt til hvordan jeg skal gjøre dette..

 

På forhånd takk

Lenke til kommentar
Videoannonse
Annonse

Har nå funnet en liste og den ser sånn ut:

 

1006    OSLO

1007    OSLO

1008    OSLO

1009    OSLO

1010    OSLO

1011    OSLO

1020    OSLO

1030    OSLO

1040    OSLO

1050    OSLO

1051    OSLO

1052    OSLO

1053    OSLO

1054    OSLO

 

Men hvordan skal jeg kunne bruke denne? Jeg har ikke så mye peiling på vb, men må vel se noe noe lignende dette ut hvis jeg skal kunne hente det ut:

 

Dim postnr(A) As Integer

Dim poststed As String

 

A = A + 1

 

1000(1) = "OSLO"

1001(2) = "OSLO"

 

Men hvordna skal jeg kunne gjøre om 10000 linjer slik jeg ønsker det?

Lenke til kommentar

Du bør nok legge alle disse postnumrene i en ekstern fil som du laster inn dynamisk i programmet, og ikke «hard-code» informasjonen - dvs. skrive alle linjene direkte inn i programkoden. For å laste inn en fil med det oppsettet (hvor fant du filen forresten?), kan du muligens benytte denne koden:

' En array med alle poststedene/postnummerene

Private ZipCodes() As String

 

' Laster inn en fil som en array segmentert etter angitt atskillesestegn

Public Function LoadFileArray(sFile As String, Delimiter As String) As Variant

 

    Dim Free As Long, sBuffer As String

   

    ' Hent et ledig filnummer

    Free = FreeFile

   

    ' Åpne fil binarisk

    Open sFile For Binary As #Free

   

        ' Alloker temporær streng

        sBuffer = Space(LOF(Free))

   

        ' Last inn hele filen etter strengens størrelse

        Get #Free, , sBuffer

   

    ' Lukk fil

    Close #Free

   

    ' Returner fil som array

    LoadFileArray = Split(sBuffer, Delimiter)

 

End Function

 

' Laster inn arrayen etter en angitt fil

Public Sub LoadZIPCodes(refArray() As String, sFile As String)

 

    Dim aLines() As String, Tell As Long, lngNumber As Long

 

    ' Den enkleste måten blir vel å allokere en array med alle mulige postnumre

    ReDim ZipCodes(1000 To 9999)

 

    ' Først, la oss laste inn hele filen som en streng-array

    aLines = LoadFileArray(sFile, vbNewLine)

   

    ' Dernest, del opp hver linje slik at vi kan ekstraktere postnummer og poststed

    For Tell = LBound(aLines) To UBound(aLines)

   

        ' Først, finn postnummeret

        lngNumber = Mid(aLines(Tell), 1, 4) ' Denne er enkel. Postnummeret er de fire første karakterer i hver linje.

       

        ' Deretter, sett hvilken by/kommune dette postnummeret tilhører

        ZipCodes(lngNumber) = Mid(aLines(Tell), FindLetter(5, aLines(Tell)))

       

    Next

 

End Sub

 

' Søk etter en bokstav i en streng. Returnerer posisjonen til bokstaven om funnet.

Public Function FindLetter(ByVal Start As Long, Text As String) As Long

 

    Dim Tell As Long, curChar As String

 

    ' Let gjennom hele strengen

    For Tell = Start To Len(Text)

   

        ' Hent karakteren på denne posisjonen

        curChar = Mid(Text, Tell, 1)

   

        ' Se om denne karakteren er en bokstav

        If LCase(curChar) <> UCase(curChar) Then

           

            ' Returner posisjonen til denne karakteren

            FindLetter = Tell

       

            ' Vi er ferdige med søkingen

            Exit Function

       

        End If

   

    Next

 

    ' Dessverre, ingen bokstav funnet.

    FindLetter = -1

 

End Function

For å laste inn denne arrayen, bruker du følgende kode (sett den i Form_Load):

LoadZIPCodes ZipCodes, "C:\Database.txt"

Deretter er det ikke verre enn å kalle følgende linje for å hente ut et poststed etter postnummer:

MsgBox ZipCodes(1006)

Kanskje er det bedre å bruke en Access-database?

Lenke til kommentar

Nå er dette kanskje ikke så veldig til hjelp men her ligger det linker til alle postnummere.

Denne filen er spesielt godt egnet for databaser og applikasjoner som benytter postnummer. Filnavn : tilbud5

Der ligger også oversikt over postnummere med bruksområde, oversikt over endringer og oversikt over alle nye postnummere.

 

Den oversikten jeg linket til er ikke helt lik den du har lagt ut aadnk

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...