Avatar billede it-assistent Nybegynder
30. august 2002 - 14:12 Der er 14 kommentarer og
1 løsning

Klassikeren: Posttabellen

Jeg har to bundne felter postnr og by i en formular, hvor den underliggende tabel er tb. I tb er kolonnernr postnummer og by.

Jeg har en posttabel m. alle danske postnumre + bynavne.

Fidusen er, at hvis der bliver indtastet et dansk postnr, så skal denne kigge i posttabel og sætte bynavnet fra posttabellen ind i byfeltet i tb. Hvis det indtastede ikke matcher noget i posttabellen, så skal der være mulighed for at taste noget vilkårligt i byfeltet (tb).

Hvordan gør jeg dette?

PS: Ingen lektioner i normalisering, tak :-)
Avatar billede jkrons Professor
30. august 2002 - 14:38 #1
Du kan prøve at lave feltet By som en komboboks, der henter information fra Postnummertabellen.

Prøv så at se på hændelsen "Ved ikke på liste".
Avatar billede it-assistent Nybegynder
30. august 2002 - 14:43 #2
Kan man ikke lave det uden brug af kompoboks?? Så kan man vel heller ikke skrive frit i tb.by såfremt postnummer ikke står i posttabel??
Avatar billede jkrons Professor
30. august 2002 - 14:49 #3
Jo, du kan godt lave det uden brug af komboboks. Jeg har ikke så meget tid lige nu (fredag eftermiddag you know!), men jeg vil gerne prøve at finde en løsning.
Avatar billede it-assistent Nybegynder
30. august 2002 - 15:07 #4
Ok. Er der mon andre der kan give et bud?
Avatar billede jkrons Professor
30. august 2002 - 15:15 #5
Hvis postnummeret ikke findes, skal postnr tabellen så opdateres med det postnr og by du taster?
Avatar billede it-assistent Nybegynder
30. august 2002 - 15:20 #6
Nej
Avatar billede jkrons Professor
30. august 2002 - 15:27 #7
Jeg er kommet lidt i tvivl om, hvad du egentlig mener med dit oprindelige spørgsmål. Skal du lave et opslag i postnummertabellen til brug for en anden tabel, eller skal du opdatere postnummer tabellen og bare kontrollere om det postnummer, du er ved at oprette eksisterer i forvejen.
Avatar billede it-assistent Nybegynder
30. august 2002 - 15:29 #8
Det jeg søger er en funktion som
DCount der bare ikke tæller, men returnerer den første match!
Avatar billede jkrons Professor
30. august 2002 - 15:30 #9
Men du kan evt. prøve at se på denne kode, som henter et bynavn, når postnummerfeltet forlades. Hvis der ikke er et tilsvarende postnummer i tabellen, gives fokus til byfeltet, så du indtaste her.

Private Sub Postnr_Exit(Cancel As Integer)
On Error GoTo errhand

Dim strBy As String

strBy = Me!By

strBy = DLookup("[By]", "Postnr", "[Postnr] = " _
    & Forms!navne!Postnr)

Me!By = strBy

errhand:
Me!By.SetFocus
Exit Sub

End Sub
Avatar billede jkrons Professor
30. august 2002 - 15:31 #10
Kræver selvfølgelig tilpasning af formular, tabel og feltnavne
Avatar billede it-assistent Nybegynder
30. august 2002 - 15:59 #11
Jeps det fungerer
Avatar billede jkrons Professor
30. august 2002 - 16:00 #12
Lyder godt! Tak for point.
Avatar billede lhdesign Nybegynder
01. september 2002 - 13:06 #13
Hvad er fidusen med en fiktiv by, hvis du skal indtaste post nr. fra byer uden for DK så opret byen i din post tabel?
Avatar billede rosco Novice
23. oktober 2002 - 22:50 #14
Jeg ved godt indlæget er gammelt jeg har lige et ekstra tip jeg gerne ville give videre. i stedet for at lade focus gå til feltet by, er det beddere at lave en formular, baseret på postnr.Tabellen. og tilføje en kode der åbner den hvis man indtaster et postnr. som ikke findes i tabellen.  hele koden til feltet postnummer (ved udgang) er denne.
Private Sub Postnr_Exit(Cancel As Integer)
On Error GoTo Findbynavn_err

Dim strBynavn As String

    With CodeContextObject
        If (IsNull(.Bynavn)) Then
strBynavn = DLookup("[Bynavn]", "Postnumre", "[Postnr]=[Postnumre]![Postnummer]")
    End If
    End With
Me!Bynavn = strBynavn

Exit Sub
Findbynavn_err:
Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Postnumre"
DoCmd.OpenForm stDocName, , , stLinkCriteria
    DoCmd.GoToRecord , , acNewRec


End Sub
----------------------------------------------------------------------Jeg håber nogen kan bruge det.
Avatar billede jkrons Professor
23. oktober 2002 - 23:43 #15
rosco->
Din kode åbner vel en formular, som gør det muligt at opdatere postnummetabellen?

Men det oprindelige spørgsmål gik netop på, at man skulle kunne taste et postnummer der ikke fandtes og et tilhørende bynavn, UDEN at postnummer tabellen blev opdateret. Det indtastede, ikke eksisterende postnummer med tilhørende bynavn skal altså netop ikke gemmes.

Ellers er din idé god nok :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester